Deployment Pipelines

Deployment Pipelines

Deployment pipelines (or Continuous Delivery pipelines) are the cornerstone of Continuous Delivery as they automate all the stages (build, test, release, etc.) of your software delivery process.

There are numerous benefits to using Continuous Deployment pipelines. An automated pipeline allows all stakeholders to monitor the progress, eliminates the overhead of all the manual work, provides quick feedback, and more importantly builds confidence on the code quality.

Continuous Delivery Pipeline (CDP)

Continuous Delivery Pipeline (CDP)

The deployment pipeline run starts with a developer committing source code change into a version control repository. The CI server detects the new commit, compiles the code, and runs unit tests. The next stage is deploying the artifacts (files generated from a build) to staging or a feature test environment where you run additional functional, regression, and acceptance tests. Once all the tests are successful, you are ready to deploy into production. In case of failure during any stage, the workflow stops and an immediate feedback is sent back to the developer.

Tools for Deployment Pipeline

In order to automate the various stages of your deployment pipeline, you will need multiple tools. For example:

  • a version control system such as Git to store your source code
  • a Continuous Integration (CI) tool such as Jenkins to run automated builds
  • test frameworks such as xUnit, Selenium, etc., to run various test suites
  • a binary repository such as Artifactory to store build artifacts
  • configuration management tools such as Ansible
  • a single dashboard to make the progress visible to everyone
  • frequent feedback in the form of emails, or Slack notifications.

And that’s not all. You will also need a single tool that can bring all these tools together to achieve CI/CD goals which is to automate software delivery.

CI/CD Tools

There is a large number of open source (free) and enterprise (paid) CI/CD tools available in the market. Here is a matrix that compares some of the most popular CI/CD tools based on the type of offering (paid or free), licensing (open source or closed source), hosting (on-premise or cloud), and extensions/plugins.

CI/CD Tools

Feature:
Pricing

Feature:
Licensing

Feature:
Hosting

Feature:
Extensions/
Plugins

Atlassian
Bamboo

Paid Closed On-premises **

Bitbucket
Pipelines

Paid Closed Cloud/
On-premises
**

AWS
CodePipeline

Paid Closed Cloud *

Azure
Pipelines

Paid Closed Cloud **

Circle CI

Paid Closed On-premises/
Cloud
***

CloudBees
Core

Paid Closed On-premises/
Cloud
*****

GitHub
Actions

Paid Closed On-premises/
Cloud
***

GitLab
CI/CD

Free/Paid OSS/Closed On-premises/
Cloud
*

Google Cloud
Build

Paid Closed Cloud **

Jenkins

Free OSS On-premises/
Cloud
*****

Travis CI

Paid Closed On-premises/
Cloud
***

Reference: https://courses.edx.org/courses/course-v1:LinuxFoundationX+LFS167x+2T2020/

Comments are closed.