Writing modern software is hard because there are many groups involved in the delivery of software, including developers, QA, operations, product owners, customer support, and sales. There needs to be a process by which the development of the software is done in an automated way as it is being built. The process of continuous integration and continuous delivery will help ensure that the software that you deliver to your end users is of the highest quality and has been through a series of checks in a CI/CD pipeline. In this book, you will learn how to use Jenkins CI and how to write freestyle scripts, plugins, as well as how to use the newer Jenkins 2.0 UI and pipelines. You will learn about Travis CI in terms of the UI, the Travis CLI, advanced logging and debugging techniques, and best practices with Travis CI. You will also learn about Circle CLI in terms of the UI, the Circle CLI, advanced logging and debugging and best practices with CircleCI. Throughout the book we will talk about concepts such as containers, security, and deployment, among others.




















































