In software development, a deployment pipeline is a set of processes DevOps engineers use to develop, test, and launch cloud-native applications.
In general, a deployment pipeline comprises of the following:
The first stage starts when the developer commits their code into source control. This leads to the compilation, testing, and code analysis of the code.
If the application passes version control, the development team will store the application into an artifact depository, like Artifactory.
The next stage also involves testing. The goal is to ensure the quality of the application against specific criteria, and verify that it’s free of bugs.
Once the application passes through development tests, the team will test the final version of the application in a production-ready environment. The goal is to ensure that your application works properly after you launch it.
The final stage of the software deployment process is production. At this point, your DevOps team is basically deploying the application to your live production servers.
To cut the risk of downtime, the DevOps team may deploy the new version through Blue/ Green infrastructure. So, before updating the end-users, you’ll test the application once last time and, in turn, gradually roll it out. You can also do a canary deployment where you update only small groups of your end-users at a time.