7 Defining Pipeline as Code for Microservices

 

This chapter covers

  • Usage of Jenkins multi-branch pipeline plugin & GitFlow model.
  • Defining multi-branch pipelines for Containerized Microservices.
  • Triggering a Jenkins job on push event using GitHub webhooks.
  • Exporting Jenkins jobs configuration as XML and cloning Jenkins jobs.

In the previous chapters, we covered how to deploy a Jenkins cluster on multiple cloud providers using automation tools like Packer & Terraform. In this chapter, we will define a Continuous Integration pipeline for Dockerized microservices.

In the first chapter of the book, we learned that continuous integration (CI) is basically continuously testing and building all changes of the source code before integrating them into the central repository. It can be summarized in the following stages:

Figure 7.1. Continuous Integration Stages

Every change to the source code triggers the CI pipeline, which launches the automated tests. This comes with many benefits:

  • Detecting bugs and issues earlier which results in a dramatic decrease in maintenance time and costs.
  • Ensuring the code base continues to work and meet the specs requirements as the system grows.
  • Improving team velocity by establishing a fast-feedback loop.

While automated tests come with multiple benefits, they’re extremely time-consuming to implement and execute. Therefore, we will use a testing framework based on the target service runtime and requirements.

7.1    Introducing Microservices based Application

 

7.2    Defining Multibranch Pipeline Jobs

 

7.3    Git and GitHub Integration

 
 
 

7.4    Discovering Jenkins Jobs' XML Configuration

 
 

7.5    Configuring SSH authentication with Jenkins

 

7.6    Triggering Jenkins builds with GitHub Webhooks

 

7.7    Summary

 
 
sitemap

Unable to load book!

The book could not be loaded.

(try again in a couple of minutes)

manning.com homepage
test yourself with a liveTest