This chapter will help introduce the concept of continuous integration (CI) and will help set up the foundation of the CI/CD concepts that we will explore in the later chapters. It is important to understand what a CI build is intended for as these concepts transcend any given CI/CD tool that you may use. CI is important because it helps keep a codebase healthy and helps developers keep a software system running independently of any particular developer machine. A CI build enforces independence of software components and local environment configuration. The CI build should be decoupled from any one developer configuration and should be able to be repeatable and isolated in terms of state. Each build that is run should in essence be independent, as this guarantees that a software system is working correctly.
The following topics will be covered...