![Implementing Azure DevOps Solutions](https://wfqqreader-1252317822.image.myqcloud.com/cover/87/36698087/b_36698087.jpg)
Introducing continuous integration
Continuous integration is a methodology where you integrate your own changes with those of all of the other developers in your project and test whether the combined code still works as expected. This way, you create a fast loop that provides you with feedback on your work.
When working with extensive branching strategies for isolating code changes, it is not uncommon for one or more developers to work for days, weeks, or even months on an isolated branch. While this is great for making sure that their changes do not disrupt others, it is also a great way to make sure that there won't be merge issues later. If you have ever had to merge weeks or months of work back into a master branch, you will know how much work is involved and how often this results in bugs or other issues.
To prevent this, developers should make it a habit to integrate their changes with those of all the other developers at least once a day. Here, integrating means at least merging, compiling, and running unit tests. This way, there is a constant stream of feedback on the quality of the developer's changes and since this feedback is combined, it is a great way to prevent merge issues later.
Continuous integration also enables you to embed other concerns in your pipeline to automatically preserve the quality of your code. Testing and security scanning are two prime examples of this. These topics are discussed in later chapters, but a good continuous integration pipeline is the basis for these practices.
In the rest of this chapter, you will learn about the technical means to set up continuous integration using Azure Pipelines. But first, let’s look at a common misconception and the four pillars of continuous integration.