Book Image

Hands-On Continuous Integration and Delivery

By : Jean-Marcel Belmont
Book Image

Hands-On Continuous Integration and Delivery

By: Jean-Marcel Belmont

Overview of this book

Hands-On Continuous Integration and Delivery starts with the fundamentals of continuous integration (CI) and continuous delivery (CD) and where it fits in the DevOps ecosystem. You will explore the importance of stakeholder collaboration as part of CI/CD. As you make your way through the chapters, you will get to grips with Jenkins UI, and learn to install Jenkins on different platforms, add plugins, and write freestyle scripts. Next, you will gain hands-on experience of developing plugins with Jenkins UI, building the Jenkins 2.0 pipeline, and performing Docker integration. In the concluding chapters, you will install Travis CI and Circle CI and carry out scripting, logging, and debugging, helping you to acquire a broad knowledge of CI/CD with Travis CI and CircleCI. By the end of this book, you will have a detailed understanding of best practices for CI/CD systems and be able to implement them with confidence.
Table of Contents (18 chapters)

What this book covers

Chapter 1, CI/CD with Automated Testing, introduces the concept of automation and the explains the importance of automation compared to manual processes.

Chapter 2, Basics of Continuous Integration, introduces the concept of continuous integration, explains what a software build is, and covers CI build practices.

Chapter 3, Basics of Continuous Delivery, introduces the concept of continuous delivery and in particular explains the problem of delivering software, configuration management, deployment pipelines, and scripting.

Chapter 4, The Business Value of CI/CD, covers the business value of CI/CD by explaining problems with communication, such as the ability to communicate pain points to team members, sharing responsibilities among team members, knowing your stakeholders, and demonstrating why CI/CD is important.

Chapter 5, Installation and Basics of Jenkins, helps you get Jenkins CI installed on Windows, Linux, and macOS OSes. You will also learn how to run Jenkins in a local system and how to manage Jenkins CI.

Chapter 6, Writing Freestyle Scripts, covers how to write freestyle scripts in Jenkins and how to configure freestyle scripts in Jenkins, along with adding environment variables and debugging issues in freestyle scripts.

Chapter 7, Developing Plugins, explains what a plugin is in software, how to create a Jenkins plugin using Java and Maven, and goes over the Jenkins plugin ecosystem.

Chapter 8, Building Pipelines with Jenkins, covers Jenkins 2.0 in detail and explains how to navigate in Jenkins 2.0 (Blue Ocean), and also covers the new pipeline syntax in great detail.

Chapter 9, Installation and Basics of Travis CI, introduces you to Travis CI and explains the differences between Travis CI and Jenkins CI. We look at Travis life cycle events and the Travis YML syntax. We also explain how to get started and set up with GitHub.

Chapter 10, Travis CI CLI Commands and Automation, shows you how to get the Travis CI CLI installed, explains each command in the CLI in great detail, shows you how to automate tasks in Travis CI, and explains how to use the Travis API.

Chapter 11, Travis CI UI Logging and Debugging, explains the Travis Web UI in detail and showcases advanced techniques in logging and debugging in Travis CI.

Chapter 12, Installation and Basics of CircleCI, helps you set up CircleCI with Bitbucket and GitHub and shows how to navigate the CircleCI Web UI. We will also explain the CircleCI YML syntax.

Chapter 13, CircleCI CLI Commands and Automation, helps you install the CircleCI CLI and explains each command in the CLI. We will also go over workflows in CircleCI and how to use the CircleCI API.

Chapter 14, CircleCI UI Logging and Debugging, explains the job log in detail and shows how to debug slow builds in CircleCI. We will also go over logging and troubleshooting techniques in CircleCI.

Chapter 15, Best Practices, covers best practices for writing unit tests, integration tests, system tests, acceptance tests in CI/CD, and best practices in password and secret management. We will also go over best practices in deployment.