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 / 325 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...
 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	