CI/CD

What’s new in the OpenShift 4.4 web console developer experience

What’s new in the OpenShift 4.4 web console developer experience

The developer experience in the Red Hat OpenShift Container Platform web console keeps getting better. You’ve probably already heard about our streamlined user flows to build and deploy applications, plus the ability to understand the structure of your application via the Topology view. Each new release of Red Hat OpenShift includes usability improvements and new features to help developers reach their goals.

In OpenShift 4.4, we focused on making application deployment easier through the Developer Catalog, improving the experience of Operator-backed services, and supporting Helm Charts. As for feature updates, we:

  • Made a number of topology enhancements to help streamline discoverability and scalability.
  • Introduced an application monitoring section.
  • Introduced a new Pipeline Builder.

Continue reading “What’s new in the OpenShift 4.4 web console developer experience”

Share
Modern web applications on OpenShift, Part 4: Openshift Pipelines

Modern web applications on OpenShift, Part 4: Openshift Pipelines

When I wrote part 3 of this series, Modern web applications on OpenShift: Part 3 — OpenShift as a development environment, I said that was the final part. However, there is new tech that fits in very nicely with deploying modern Web Applications to OpenShift, so part 4 is necessary. As a refresher, in the first article, we looked at how to deploy a modern web application using the fewest commands. In the second part, we took a deeper look into how the new source-to-image (S2I) web app builder works and how to use it as part of a chained build. In the third, we took a look at how to run your app’s “development workflow” on Red Hat OpenShift. This article talks about OpenShift Pipelines and how this tool can be used as an alternative to a chained build.

Continue reading “Modern web applications on OpenShift, Part 4: Openshift Pipelines”

Share
Migrating applications to OpenShift, Part 1: Overview

Migrating applications to OpenShift, Part 1: Overview

I help teams migrate their applications onto Red Hat OpenShift, so I can’t help but notice patterns and considerations that arise regarding the migration process. Such operations have many domain-specific factors, but in regards to getting the applications up and running on OpenShift, there appear to be several common patterns that teams use to migrate successfully.

Continue reading Migrating applications to OpenShift, Part 1: Overview

Share
Speed up Maven builds in Tekton Pipelines

Speed up Maven builds in Tekton Pipelines

Tekton is an open source project that provides standard Kubernetes-style resources and building blocks for creating CI/CD pipelines that can run on any Kubernetes. Tekton does this by introducing a number of custom resource definitions (CRD) such as Pipeline, Task, and ClusterTask to provide a language and structure for defining delivery pipelines as shown in Figure 1. Tekton also provides a set of controllers that are responsible for running pipelines in pods on demand whenever a user creates an aforementioned resource.

Diagram of a Pipeline containing a Task workflow.

Figure 1: A Tekton pipeline contains a sequence of tasks.

The use of Tekton has grown rapidly over the last year. One of the frequently requested features is the ability to share artifacts between tasks in order to cache dependencies for build tools such as Maven and NPM. Although it was possible previously to use volumes in tasks, the release of Tekton 0.10 adds support for workspaces, which makes it easier for tasks within a pipeline to share artifacts using a persistent volume.

In this article, we look at how workspaces can be used to cache Maven dependencies in Java builds in order to remove the need to download dependencies for each build.

Continue reading “Speed up Maven builds in Tekton Pipelines”

Share
Continuous integration with GDB Buildbot

Continuous integration with GDB Buildbot

Continuous integration is a hot topic these days, and the GNU Project Debugger is keeping up with the trend. Who better to serve as a role model for tracking and exterminating bugs than a debugger?

The GDB Buildbot started as a pet project back in 2014 but is now an integral part of the development process. It provides an infrastructure to test new commits pushed to the official repository, as well as a service (which we call try builds) for developers to submit their proposed changes. In this article, I share the story of our Buildbot instance, where we are right now in terms of functionality, and the plans (and challenges) for the future.

Continue reading “Continuous integration with GDB Buildbot”

Share
Using secrets in Kafka Connect configuration

Using secrets in Kafka Connect configuration

Kafka Connect is an integration framework that is part of the Apache Kafka project. On Kubernetes and Red Hat OpenShift, you can deploy Kafka Connect using the Strimzi and Red Hat AMQ Streams Operators. Kafka Connect lets users run sink and source connectors. Source connectors are used to load data from an external system into Kafka. Sink connectors work the other way around and let you load data from Kafka into another external system. In most cases, the connectors need to authenticate when connecting to the other systems, so you will need to provide credentials as part of the connector’s configuration. This article shows you how you can use Kubernetes secrets to store the credentials and then use them in the connector’s configuration.

Continue reading “Using secrets in Kafka Connect configuration”

Share
OpenShift Actions: Deploy to Red Hat OpenShift directly from your GitHub repository

OpenShift Actions: Deploy to Red Hat OpenShift directly from your GitHub repository

Here is a common situation: You write your code, everything is on GitHub, and you are ready to publish it. But, you know that your job is not finished yet. You need to deploy your code and this process can be a nightmare at times.

Ideally, you should be able to do this whole process all in one place, but until now, you always had to set up external services and integrate them with GitHub (or add post-commit hooks). What if, instead, you could replace all of these extras and run everything directly from your GitHub repository with just a few YAML lines? Well, this is exactly what GitHub Actions are for.

Continue reading “OpenShift Actions: Deploy to Red Hat OpenShift directly from your GitHub repository”

Share
Vault IDs in Red Hat Ansible and Red Hat Ansible Tower

Vault IDs in Red Hat Ansible and Red Hat Ansible Tower

This article demonstrates the use of multiple vault passwords through vault IDs. You will learn how to use vault IDs to encrypt a file and a string. Once they’re encrypted, the vault ID can be referenced inside a playbook and used within Red Hat Ansible and Red Hat Ansible Tower.

Starting with Ansible 2.4 and above, vault IDs are supported

Vault IDs help you encrypt different files with different passwords to be referenced inside a playbook. Before Ansible 2.4, only one vault password could be used in each Ansible playbook. In effect, every file needed to be encrypted using the same vault password.

To begin with, vault IDs need to be pre-created and referenced inside your ansible.cfg file. The following excerpt is from ansible-config list for the configuration DEFAULT_VAULT_IDENTITY_LIST:

Continue reading “Vault IDs in Red Hat Ansible and Red Hat Ansible Tower”

Share
How to maintain stable build and deployment performance on Red Hat OpenShift

How to maintain stable build and deployment performance on Red Hat OpenShift

In this article, I will introduce helpful, common tips for managing reliable builds and deployments on Red Hat OpenShift. If you have experienced a sudden performance degradation for builds and deployments on OpenShift, it might be helpful to troubleshoot your cluster. We will start by reviewing the whole process, from build to deployment, and then cover each aspect in more detail. We will use Red Hat OpenShift 4.2 (Kubernetes 1.14) for this purpose.

Continue reading “How to maintain stable build and deployment performance on Red Hat OpenShift”

Share
How to use the VS Code Tekton Pipelines extension

How to use the VS Code Tekton Pipelines extension

The Tekton Project, which was announced in March after branching off from the Knative project, is creating excitement as a Kubernetes-native CI/CD pipeline tool.

Tekton offers the flexibility and agnosticism that Kubernetes is celebrated for and is positioned to become the first open standardized engine for executing pipelines. Although the project is still in the early stages of development, we couldn’t wait to start making it easier for developers to jump on the Tekton train. In this article, we’ll take a quick look at the Tekton Pipelines extension and how to use it.

Continue reading “How to use the VS Code Tekton Pipelines extension”

Share