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)

Installation and Basics of CircleCI

In the previous chapter, we showed how to debug a Travis CI project locally and explained the Travis CI web interface in more detail. We also looked at how to do logging in Travis CI. This chapter will help you get set up with CircleCI and we will explain how to create a Bitbucket account and we will go over how to set up both GitHub and Bitbucket on a new CircleCI account. We will create a simple Java project in Bitbucket and run a CircleCI build for it. We will also discuss how to navigate the Bitbucket UI. We will then end the chapter by creating a new GitHub repository and discuss a CircleCI YML script that will install Golang via a Docker image and run our unit tests.

The following topics will be covered in this chapter:

  • An introduction to CircleCI
  • A comparison of CircleCI and Jenkins
  • CircleCI prerequisites
  • Setting up CircleCI in GitHub...