pipelines

A pipeline is a sequence of steps that we must go through to accomplish a goal. We looked at this concept in Chapter 7Pipe-and-Filter Architectures. The same concept in this context is used to execute a sequence of steps in our release management process. A pipeline will assist us during the software delivery process in different environments. We are going to create a simple pipeline that consists of five stages:

  • Automatically building our projects
  • Running tests (such as unit and integration)
  • Deploying to staging
  • Running an acceptance test
  • Deploying to production (this includes deploying our application in a cloud or on-premise server)

The following diagram shows how the pipeline will look:

Pipeline CI/CD

Each stage could have one or more tasks or jobs, such as creating a database schema, provisioning a box with Vagrant, cloning a Docker container, and so on.

The previous diagram is divided into two parts:

  • Continuous integration
  • Continuous deployment

In the next few sections, we are going to briefly look at these two concepts.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.139.83.96