Automation with Jenkins and GCP-Native CI/CD Services
This chapter covers Jenkins and GCP-native CI/CD services to deploy applications on GCP. This chapter covers the following topics:
- PDF / 5,667,945 Bytes
- 79 Pages / 439.37 x 666.142 pts Page_size
- 36 Downloads / 283 Views
Automation with Jenkins and GCP-Native CI/CD Services This chapter covers Jenkins and GCP-native CI/CD services to deploy applications on GCP. This chapter covers the following topics: •
Introduction to automation
•
Overview of GCP development automation
•
Overview of Jenkins
•
Setting up Jenkins with the GCP development automation workflow
•
Use case implementation using Jenkins with Google- native services
© Navin Sabharwal, Piyush Pandey 2021 N. Sabharwal and P. Pandey, Pro Google Cloud Automation, https://doi.org/10.1007/978-1-4842-6573-4_5
221
Chapter 5
Automation with Jenkins and GCP-Native CI/CD Services
Introduction to Automation Rapid technology advancements and demand for shorter time to market are driving organizations to invest in automation technologies. This led to the evolution of a philosophy we all now know as DevOps. The primary goal of DevOps is to accelerate an organization’s ability to deliver services at a high velocity while ensuring quality, stability, and security. CI/CD (Continuous Integration/Continuous Deployment) is a common practice that is followed within the umbrella of DevOps ecosystem. It brings the following benefits to the table: •
Frequent deployments each day/week/month
•
Low failure rate and fewer security bugs in releases
•
Less time between consecutive fixes/releases
•
Faster time to market
A typical application release workflow is shown in Figure 5-1.
Figure 5-1. DevOps workflow
222
Chapter 5
Automation with Jenkins and GCP-Native CI/CD Services
This approach is based on the following methodologies, which largely consist of the DevOps principle around people-process-tools: •
•
•
Requirements Management •
Enable Agile ways of project planning and delivery with Scrum/Kanban processes
•
Product requirements to be collected and documented in ALM tools
•
Foster collaboration between Dev, Test, and OPS teams, with a single dashboard view of ongoing product development activities, release planning, and dependencies
Continuous Integration •
Enable SDLC process integration of new code developed with automated builds, unit testing, code quality, and artifact repository
•
Provide orchestration among various identified tools for automation applications and infrastructure provisioning
Environment Provisioning •
Allow zero touch provisioning of infrastructure components, including VMs or containers, storage, network, and products with automated configuration management and verification activities
•
Infrastructure components to be exposed as API reference points to be integrated in automated pipelines
223
Chapter 5
•
•
Automation with Jenkins and GCP-Native CI/CD Services
Continuous Testing •
Enable the shift-left approach to reduce delivery timelines across the entire SDLC process, including the infrastructure build
•
Identify defects and non-compliance to agreed on design principles and avoid late detection of issues that could lead to an increase in application delivery to end-users
Continuous Deploymen
Data Loading...