CI/CD

Red Hat Logo
Article

Building Declarative Pipelines with OpenShift DSL Plugin

Siamak Sadeghianfar

Jenkinsfiles have only become a part of Jenkins since version 2 but they have quickly become the de-facto standard for building continuous delivery pipelines with Jenkins. Jenkinsfile allows defining pipelines as code using a groovy DSL syntax and checking it into source version control which allows you to track, review, audit and manage the lifecycle of changes to the continuous delivery pipelines the same way that you manage the source code of your application. Although the groovy DSL syntax which...

Dynamic Storage
Article

How to configure persistent storage with OpenShift or Kubernetes for development environment

Chandra Shekhar Pandey

We know that containers in Openshift or Kubernetes don't persist data. Every time we start an application, it is started in a new container with an immutable Docker image. Hence, any persisted data in the file systems is lost when the container stops. Hence if an application or container is rebuilt or restarted than we can't view previous logs or if we are using containers with mysql or any other database then schema, tables, and all data will be lost...

Continuous Integration: A "Typical" Process
Article

Continuous Integration: A "Typical" Process

AbdulBasit Kabir

Typical CI process (source: www.pepgotesting.com) Continuous Integration (CI) is a phase in the software development cycle where code from different team members or different features are integrated together. This usually involves merging code (integration), building the application and carrying out basic tests all within an ephemeral environment. In the past, the code was integrated at an “integration phase” of the software development life cycle. This phase came after different teams would have spent weeks, months or even years working in...

A MicroProfile-based microservice on OpenShift Container Platform
Article

A MicroProfile-based microservice on OpenShift Container Platform - Part 1

Cesar Saavedra

Creating a simple MicroProfile-based microservice and deploying it to OpenShift Container Platform Eclipse MicroProfile is an open source specification for Enterprise Java microservices. It is a community of individuals, vendors, and organizations collaborating and working on innovative microservices patterns for Enterprise Java within the context of modern development, architectures, and underlying infrastructures, e.g. health checks, fault tolerance, metrics, and security propagation within a cloud environment. Its first release was based on 3 Java EE JSRs/libraries/APIs, but this does not necessarily...

Skinny on Fat
Article

The Skinny on Fat, Thin, Hollow, and Uber

James Falkner

"I used WildFly Swarm to shrink my app from 45 megabytes to only 2243 bytes." I was recently playing around with various techniques for packaging Java microservices and running on OpenShift using various runtimes and frameworks to illustrate their differences (WildFly Swarm vs. WildFly, Spring Boot vs. the world, etc). Around the same time as I was doing this an internal email list thread ignited discussing some of the differences and using terms like Uber JARs, Thin WARs, Skinny WARs...

Managing Windows Updates with Ansible in Red Hat Enterprise Linux
Article

New level of automation with Ansible

muayyad alsadi

Ansible is a simple agent-less automation tool that has changed the world for the better. It has many use cases and wide adoption (used by many upstream projects like Kubernetes and there are thousands of rules submitted to Ansible Galaxy). In this article, we are going to demonstrate Ansible. The intention of this article is not to teach you the basics of Ansible, but to motivate you to learn it. Why is Bash scripting not automation? Shell has been the...

Video Thumbnail
Video

Microservices with Kubernetes, Docker, and Jenkins (Rafael Benevides, Christian Posta)

Red Hat Developer Program

A lot of functionality necessary for running in a microservices architecture have been built into Kubernetes; why would you re-invent the wheel with lots of complicated client-side libraries? Have you ever asked why you should use containers and what are the benefits for your application? This talk will present a microservices application that have been built using different Java platforms: WildFly Swarm and Eclipse Vert.x. Then we will deploy this application in a Kubernetes cluster to present the advantages of containers for MSA (Microservices Architectures) and DevOps. The attendees will learn how to create, edit, build, deploy Java Microservices, and also how to perform service discovery, rolling updates, persistent volumes and much more. Finally we will fix a bug and see how a CI/CD Pipeline automates the process and reduces the deployment time.

Video Thumbnail
Video

Fabric8-Ing Continuous Improvement - Kubernetes/Jenkins Pipeline (James Rawlings & James Strachan)

Red Hat Developer Program

Using Docker for building and packaging small discrete microservices, and Kubernetes to ensure they stay running and gaining OOTB service discovery, significantly reduces the challenges of having a consistent way to build, package, and run applications. Then, there's how to develop, test, promote, release, support, and improve our container-based architectures, taking an idea from inception to repeatable releasing in a live environment. In this session, we'll look at how fabric8, which runs on top of OpenShift 3 by Red Hat and Kubernetes, uses Docker and Jenkins workflow for pipeline orchestration to provide an extensible OOTB CD solution. Fabric8 significantly simplifies the creation of new projects with a one-click setup and the wiring-together of tooling such and version control systems, artifact repositories, and release pipelines. With human approval, automated integration testing, ChatOps, environment + pipeline visualisation, commit traceability, and a developer experience that helps teams deliver value faster, we'll see how the strength of the open source community works together to provide a consistent approach to building and releasing software for new, cloud-based microservices.

Video Thumbnail
Video

Ultimate DevOps: OpenShift Dedicated With CloudBees Jenkins Platform (Andy Pemberton)

Red Hat Developer Program

Are you ready to innovate with cloud-native app development? Are you ready to accelerate business agility with continuous delivery (CD)? Well, now you can easily do both using CloudBees Jenkins Platform within OpenShift Dedicated by Red Hat. In this session, you'll learn how to seamlessly use this CD solution to fully automate your application development, test, and delivery life cycle. Using the CloudBees platform to automate your CD pipelines allows your developers to focus on what they do best—innovating. Combine that with the elasticity and scale of the Docker-based OpenShift Dedicated environment, and you'll remove many of the obstacles to business growth. Come see the future of digital innovation.

Video Thumbnail
Video

Push It. Push It Good: Continuous Integration And Deployment For The People (Andrew Lee Rubinger)

Red Hat Developer Program

We know how to code. We know how to test. But all too often, we’re disjointed in bringing our applications to life in production. In this practical session based on the lessons showcased in the Summit middleware keynote, we’ll walk through both the concepts and software that lets developers push to production with confidence. Join the Developer Experience Engineering team as we give you a chance to quickly get started with a full deployment pipeline for new applications, focusing on: * Testability as a first-class citizen * Using the cloud as an extension of your local development environment * Reviewing your changes in isolation in a production-like environment * A smooth merge process to get your changes upstream * Getting your stuff live, reliably and efficiently See how we brought everything to life on the big stage during the middleware keynote and take some lessons home to try yourself.

Red Hat OpenShift.io is an end-to-end development environment for planning, building and deploying cloud-native applications.
Article

Achieving Deployment Excellence with Red Hat OpenShift.io

Rob Terzi

Recently, the focus on the continuous delivery of value has created a lot of interest in microservices, CI/CD, and containers. The idea is that microservices are small and well defined enough to enable rapid innovation, automated testing, and frequent deployments with minimal risk. This is made possible by adopting continuous integration and continuous delivery pipelines. CI/CD requires the ability to quickly, easily, reliably, and automatically create and tear down complete execution environments. Linux containers address this need by creating lightweight...

Red Hat OpenShift.io is an end-to-end development environment for planning, building and deploying cloud-native applications.
Article

OpenShift.io Developer Tools Overview - Summit 2017 - The Power of Cloud Workspaces - Part 2

Brian Atkisson

Part II of the OpenShift.io Developer Tools overview follows on the heels of the introduction session, this time presented by Pete Muir and Gorkem Ercan. In this session, we are taken through the integrated OpenShift.io Eclipse Che IDE. What is a Cloud Workspace? One of the fundamental problems with today's development methodology is that development happens on your laptop-- in a completely different environment from production. This is one of the major sources of bugs as your software is migrated...

Red Hat OpenShift.io is an end-to-end development environment for planning, building and deploying cloud-native applications.
Article

OpenShift.io The Gathering - Summit 2017 - Developer Tools, Overview and Roadmap Part I

Brian Atkisson

Yesterday, at Red Hat Summit, Red Hat announced OpenShift.io. OpenShift.io is the next generation OpenShift platform, based on OpenShift 3, for building and running applications in the cloud. It gives you complete control of your application's lifecycle, from build to production-- regardless of deploying from source or running a pre-built container. In the Developer tools, Overview and Roadmap Part I summit session, Todd Mancini, Peter Muir, and James Strachan take a packed house through an introduction to OpenShift.io (in addition...

Red Hat OpenShift.io is an end-to-end development environment for planning, building and deploying cloud-native applications.
Article

7 Freaking Awesome things about OpenShift.io

Brian Atkisson

Today's announcement of Red Hat OpenShift.io was followed by a full day of developer toolset Summit sessions. These were presented by the OpenShift.io product development team and covered some truly amazing OpenShift.io features. While there are too many features to cover in a single blog post, these were my top 7 items. 1. A Kanban board that is actually useful OpenShift.io is built from the ground up for development teams to rapidly release software. This is one of the primary...

Article Thumbnail
Article

Coala, setting it up and auto patching

Abishek V Ashok

Coala is a free and open-source language-independent analysis toolkit, written in Python. The primary goal of coala is to make it easier for developers to create rules, which a project's code should conform to the developer-defined rules. It has support for more than 40+ programming languages and is best for people who want their code to look good and follow good coding practices. It's been developed at https://github.com/coala/coala Bears and coala Coala checks the code with the help of bears...

Microservices Deployments Evolution
Article

Microservices Deployments Evolution

Bilgin Ibryam

Microservices Are Here, to Stay A few years back, most software systems had a monolithic architecture and slow release cycle. In the recent years, there is a clear move towards Microservices architecture, which is optimized for scalability, elasticity, failure, and speed of change. This trend has been further enforced by the adoption of cloud and containers, which also enabled practices such as DevOps. Trends in the IT Industry All these changes have resulted in a growing number of services to...

Jenkins Pipeline Builds and A/B Deployments in CDK
Article

Jenkins Pipeline Builds and A/B Deployments in CDK

Ricardo Martinelli

The CDK 2.3 version has added the newest OpenShift Container Platform 3.3, allowing us to make use of the Jenkins Pipeline builds as well a special route configuration, which enables A/B deployments. In this post, I will show you how to achieve that configuration using a microservice application. Preparation steps Once CDK 2.3 is up and running in our environment, we need to make an additional configuration to enable the Jenkins pipeline builds. Since it is an experimental feature, it...

Article Thumbnail
Article

Automate integration CI/CD process

Christina Lin

Red Hat Fuse Integration Service 2.0 tech preview was released a few weeks ago and as it's based on Red Hat OpenShift 3.3, which has pipeline capability on top of it (tech preview on OpenShift as well), you are able to get one step closer to a more automated and agile continuous integration. As well as, a deployment one-stop platform for us, the integration developer. For the pipeline to work on OpenShift, you need Jenkins installed and running. OpenShift uses...

Using API keys securely in your OpenShift microservices and applications
Article

Using Pipelines in OpenShift 3.3+ for CI/CD

Alessandro Arrichiello

It's been a while since Red Hat released version 3.3 of OpenShift Container Platform, this version is full of features. One of my favorites is the support for Pipelines (Tech Preview for now) that lets you easily integrate Jenkins builds on your OpenShift (Origin) Platform. OpenShift Pipelines OpenShift Pipelines are based on the Jenkins Pipeline plugin. ( https://jenkins.io/solutions/pipeline/) Integrating Jenkins Pipelines into OpenShift unlocks all the features for the CI/CD world enabling its users to easily manage repeatable tasks in...

Article Thumbnail
Article

The fast-moving monolith: how we sped-up delivery from every three months, to every week

Raffaele Spazzoli

Editor's note: Raffaele Spazzoli is an Architect with Red Hat Consulting's PaaS and DevOps Practice. This blog post reflects his experience working for Key Bank prior to joining Red Hat. A recount of the journey from three-months, to one-week release cycle-time. This is the journey of KeyBank, a super-regional bank, from quarterly deployments to production to weekly deployments to production. In the process we adopted all open source software migrating from WebSphere to Tomcat and adopting OpenShift as our private...

Article Thumbnail
Article

Red Hat Open Innovation Labs: Automating CI/CD Deployment Pipelines

Kevin McAnoy

In order for businesses to stay agile, developers must be able to deploy apps -- quickly, efficiently, and in a streamlined manner. Red Hat Open Innovation Labs uses a container-driven application development framework to perform continuous delivery and accelerate innovation. In this video, I’ll give you a peek into some of the work we at Labs are undertaking to accelerate application development. Specifically, I’ll walk you through the steps to create a deployment pipeline in Jenkins using the JBoss TicketMonster...

Microservices CI/CD Pipelines in Red Hat Openshift
Article

Microservices CI/CD Pipelines in Openshift

Rafael Benevides

One of the greatest advantages of using docker containers is the fact that you can move them between environments. A promotion from Development to a Production environment, shouldn’t take more than some few seconds. This is one aspect of “Continuous Delivery” Because Microservices Architectures are “independently replaceable and upgradeable”, they are the best scenario to show a “Deployment Pipeline”. Red Hat Developers has produced a sample and free application called “Red Hat Helloworlds MSA” that demonstrates different aspects of microservices...

Jenkins Pipeline Builds and A/B Deployments in CDK
Article

Using Jenkins in the Red Hat CI/CD Ecosystem

James Falkner

The last 4-5 years have seen the debut of many new software products specifically targeting both infrastructure services and IT automation. The consumerization of IT has caused its architects to take a fresh look at their existing, often times monolithic apps and IT infrastructure and asking: Can we do better? How do I keep IT relevant? How do I keep track of all these VMs and data? How do I scale out my IT environment without a huge budget increase...