12 Integrations with CI/CD

 

Konrad Cłapa and Jarosław Gajewski

This chapter covers

  • Understanding CI/CD concepts
  • Automating a continuous development workflow
  • Introducing continuous integration for your Anthos application
  • Using Cloud Deploy to manage continuous deployment
  • Understanding modern CI/CD platforms

In this chapter, we will guide you in developing and deploying Anthos applications. To simplify this task, we will use a simple Hello World application. We will go through the entire workflow, shown in figure 12.1, using examples in both Python and Go. We’ll start with continuous development, where we will learn how we can start developing an Anthos application and preview it even before we commit the code to the Git repository. We’ll then look at continuous integration, and finally, we will discuss continuous deployment and delivery.

The following three personas interact with CI/CD pipelines:

  • Developers—Develop the application code
  • Operators—Configure the application deployments using Kubernetes manifests
  • Security—Configures the policies to make the Kubernetes Deployments secure
Figure 12.1 The CI/CD workflow
12-01

In this chapter, we will concentrate on the first two personas. If you want to learn more about the Security persona, refer to chapter 13.

12.1 Introduction to CI/CD

12.1.1 Repeatability

12.1.2 Reliability

12.1.3 Reusability

12.1.4 Automated tests

12.1.5 Trunk-based development

12.1.6 Environment parity

12.1.7 Deployment automation

12.1.8 Team culture