Continuous integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day, with each check-in verified by an automated build to detect problems early. Practicing CI involves having a central code repository, automated builds for every commit that are self-testing, and the ability to fail and deploy builds fast. Jenkins is a popular open source CI server that can be used to implement CI workflows and pipelines through features like its plugin library and Jenkins Workflow that allows capturing complex pipelines in a single job.