
Continuous integration, continuous deployment, and build and release pipelines
When using continuous integration, development teams write code, which, after a code review, gets integrated into a version control system, from where it is built and tested automatically. This normally happens multiple times a day. Thus, a development team can detect problems and bugs quickly and fix them as early as possible, enabling what is commonly called Fail Fast.
Continuous deployment is a natural extension of continuous integration, since it assures that every application modification after being built and tested is releasable. It consists of automatically upgrading development, testing, staging, and production systems.
A pipeline defines a complete development and release workflow. It contains all of the steps required for conception, development, quality assurance, and testing, until the delivery of the final product. It includes continuous integration and continuous deployment processes for building high-quality applications in an industrialized way.
Note that you can separate your development process into two different pipelines, a build and a release pipeline, or have only one single pipeline that does it all, depending on your specific needs.
There are various technologies and tools that help you to implement an efficient, productive, fully-automated, and industrialized software development process based on continuous integration and continuous deployment. We are going to use Visual Studio Team Services in the following examples.