Chapter 9. Continuous Integration

Chapter 6, Source Code Control, provided detailed insight into the working of source code configuration management. Chapter 7, Configuration Management and Chapter 8, Configuration Management and Operational Validation, dealt with practices, principles, and implementation of application and infrastructure configuration management with the help of the Online Medicine sample application. The focus of this chapter is on another important practice of DevOps, that is, continuous integration.

Continuous integration is one of the main pillars of DevOps, directly effecting the application life cycle management of a project. This chapter will discuss continuous integration in depth. It will focus on the necessity of continuous integration, some of its important principles and implementation, and  the configuration of Visual Studio Team Services (VSTS) to automate continuous integration.

Continuous integration

Continuous integration refers to the process of generating final deployable code packages because of changes in the source code. The goal of continuous integration is to keep the source code in a state that is always ready for deployment. The process can run at scheduled intervals, on demand, and whenever there is a change in the source code. The process consists of multiple tasks, and each task is responsible for executing a functionality. These functionalities include activities such as compiling code, unit testing, code coverage, code quality, and so on. Code changes can induce bugs and break the functionality of the application. Continuous integration ensures that code changes are compiled and tested immediately. It also ensures that immediate feedback is provided to the team in the case of failure. This can help teams take pro-active actions on fixing the issue. Continuous integration is executed by means of a build pipeline.

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

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