Hands-on Pipeline as Code with Jenkins: CI/CD Implementation for Mobile, Web, and Hybrid Applications Using Declarative Pipeline in Jenkins (English Edition)
By Ankita Patil
()
About this ebook
By the end, you will be able to implement DevOps Practices using Jenkins effectively and efficiently.
Related to Hands-on Pipeline as Code with Jenkins
Related ebooks
CI/CD Pipeline with Docker and Jenkins: Learn How to Build and Manage Your CI/CD Pipelines Effectively (English Edition) Rating: 0 out of 5 stars0 ratingsDevOps Bootcamp Rating: 0 out of 5 stars0 ratingsInfrastructure Automation with Terraform: Automate and Orchestrate your Infrastructure with Terraform Across AWS and Microsoft Azure Rating: 0 out of 5 stars0 ratingsDevops in Practice: Reliable and automated software delivery Rating: 1 out of 5 stars1/5Docker Demystified: Learn How to Develop and Deploy Applications Using Docker (English Edition) Rating: 0 out of 5 stars0 ratingsHands-on Azure DevOps: CICD Implementation for Mobile, Hybrid, and Web Applications Using Azure DevOps and Microsoft Azure Rating: 0 out of 5 stars0 ratingsDeveloping Cloud Native Applications in Azure using .NET Core: A Practitioner’s Guide to Design, Develop and Deploy Apps Rating: 0 out of 5 stars0 ratingsDevOps Interview Questions and Answers Rating: 0 out of 5 stars0 ratingsDevOps Leadership - Steps For the Introduction and Implementation of DevOps: Successful Transformation from Silo to Value Chain Rating: 0 out of 5 stars0 ratingsExtending Jenkins Rating: 0 out of 5 stars0 ratingsDevOps and Microservices: Non-Programmer's Guide to DevOps and Microservices Rating: 4 out of 5 stars4/5Application Observability with Elastic: Real-time metrics, logs, errors, traces, root cause analysis, and anomaly detection Rating: 0 out of 5 stars0 ratingsEnterprise Applications with C# and .NET: Develop robust, secure, and scalable applications using .NET and C# (English Edition) Rating: 0 out of 5 stars0 ratingsPractical OneOps Rating: 0 out of 5 stars0 ratingsAgile, DevOps and Cloud Computing with Microsoft Azure: Hands-On DevOps practices implementation using Azure DevOps Rating: 0 out of 5 stars0 ratingsHands-on GitHub Actions: Implement CI/CD with GitHub Action Workflows for Your Applications Rating: 0 out of 5 stars0 ratingsTeam Guide to Software Testability: Better software through greater testability Rating: 0 out of 5 stars0 ratingsDevOps: Introduction to DevOps and its impact on Business Ecosystem: Introduction to DevOps and its impact on Business Ecosystem Rating: 0 out of 5 stars0 ratingsDynamoDB Applied Design Patterns Rating: 3 out of 5 stars3/5
Computers For You
Mastering ChatGPT: 21 Prompts Templates for Effortless Writing Rating: 5 out of 5 stars5/5SQL QuickStart Guide: The Simplified Beginner's Guide to Managing, Analyzing, and Manipulating Data With SQL Rating: 4 out of 5 stars4/5How to Create Cpn Numbers the Right way: A Step by Step Guide to Creating cpn Numbers Legally Rating: 4 out of 5 stars4/5Creating Online Courses with ChatGPT | A Step-by-Step Guide with Prompt Templates Rating: 4 out of 5 stars4/5Deep Search: How to Explore the Internet More Effectively Rating: 5 out of 5 stars5/5Grokking Algorithms: An illustrated guide for programmers and other curious people Rating: 4 out of 5 stars4/5CompTIA IT Fundamentals (ITF+) Study Guide: Exam FC0-U61 Rating: 0 out of 5 stars0 ratingsCompTIA Security+ Practice Questions Rating: 2 out of 5 stars2/5The ChatGPT Millionaire Handbook: Make Money Online With the Power of AI Technology Rating: 0 out of 5 stars0 ratingsNetwork+ Study Guide & Practice Exams Rating: 4 out of 5 stars4/5Ultimate Guide to Mastering Command Blocks!: Minecraft Keys to Unlocking Secret Commands Rating: 5 out of 5 stars5/5Procreate for Beginners: Introduction to Procreate for Drawing and Illustrating on the iPad Rating: 0 out of 5 stars0 ratingsPractical Lock Picking: A Physical Penetration Tester's Training Guide Rating: 5 out of 5 stars5/5ChatGPT Ultimate User Guide - How to Make Money Online Faster and More Precise Using AI Technology Rating: 0 out of 5 stars0 ratingsAP Computer Science Principles Premium, 2024: 6 Practice Tests + Comprehensive Review + Online Practice Rating: 0 out of 5 stars0 ratingsChildhood Unplugged: Practical Advice to Get Kids Off Screens and Find Balance Rating: 0 out of 5 stars0 ratingsThe Professional Voiceover Handbook: Voiceover training, #1 Rating: 5 out of 5 stars5/5Dark Aeon: Transhumanism and the War Against Humanity Rating: 5 out of 5 stars5/5Elon Musk Rating: 4 out of 5 stars4/5Master Builder Roblox: The Essential Guide Rating: 4 out of 5 stars4/5101 Awesome Builds: Minecraft® Secrets from the World's Greatest Crafters Rating: 4 out of 5 stars4/5Hacking: Ultimate Beginner's Guide for Computer Hacking in 2018 and Beyond: Hacking in 2018, #1 Rating: 4 out of 5 stars4/5
Reviews for Hands-on Pipeline as Code with Jenkins
0 ratings0 reviews
Book preview
Hands-on Pipeline as Code with Jenkins - Ankita Patil
CHAPTER 1
Introducing DevOps
There is always room for improvement.
— Anonymous
In the waterfall model, all activities in application lifecycle phases are implemented serially and only once! Why do you need an extensive documentation? Isn’t it a pain? No testing/verification and validation are performed until an application is ready. Requirements change over time and because of that, all the work that is documented needs to be changed! Expectations change and hence the application changes over time based on the market, technical evolution, and other factors such as demands! Failures are detected too late and issues come at a time that is no point of return! In such a scenario, the Happy Team becomes a MYTH!
To deal with the known issues of the traditional development approach, Agile development methods came into the picture. Integrative and incremental development of features brings customer feedback into the development. Customers know what they are going to get after each iteration. It is not an approach where things are considered serially. A lot of communication and effective collaboration (arguably) takes place between stakeholders to understand the requirements or explain expectations. All stakeholders are continuously involved. To meet the speed of the incremental and iterative model, automation is necessary to speed up things concerning application lifecycle management activities. Here comes the challenge; manual processes bring delay in such an incremental and iterative approach. With agile, all issues and inefficiencies are magnified like never before.
The question is how to automate? Can we start using some tools directly that automates application lifecycle management activities? Is there something more to automation than just tools?
The answer is Yes!
DevOps, Continuous Practices, or DevOps Practices! DevOps is a culture transformation! It helps to bring about change and adopt a change smoothly. We will understand how issues and inefficiencies are magnified and how DevOps practices implementation help in the digital transformation or cultural transformation.
Structure
In this chapter, we will discuss the following topics:
What is DevOps?
Benefits of DevOps
DevOps and Value Streams
DevOps practices implementation using tools
Continuous Code Inspection
Continuous Integration (CI)
Cloud computing and containers
Artifact management
Continuous delivery
Continuous testing
Continuous deployment
Conclusion
Questions and exercises
Objectives
After studying this unit, you should be able to:
Understand the concept of DevOps
Discuss the types of Continuous practices such as Continuous Integration and Continuous Delivery
Understand the importance of the mindsets of people, processes, and tools
Discuss the different DevOps practices
What is DevOps?
DevOps is a disruptive shift in how to manage the mindsets of people, way of working, and the Application Lifecycle Management Cycle. It is a process of transforming culture rather than implementing tools or a tool-specific approach. DevOps is all about culture transformation using a combination of people, processes, and tools. DevOps is known to be associated with practices such as continuous code inspections, continuous integration (CI), continuous delivery (CD), continuous testing, continuous monitoring, continuous feedback, continuous improvement, and continuous innovation. Now, DevOps practices also accommodate Infrastructure Provisioning in the cloud, Infrastructure as a Code, Configuration Management, and Pipeline as Code too. In this chapter, we will see what the DevOps culture is, how vision, people, processes, and tools help in culture transformation, and the benefits of implementation of continuous practices. Before going ahead with defining DevOps, let’s have a quick look at DevOps history.
DevOps history
This flow is based on my exploration and experience. That’s how I realized how we started our DevOps culture transformation:
Figure 1.1: DevOps history
Now, let’s define DevOps. It is a part of the quality-related discussion in organizations.
In simple language, DevOps is all about effective collaboration and communication between different stakeholders such as development, operations, quality, and security teams for better quality, and faster time to market. There are no set of guidelines or methodologies available for DevOps practices implementation:
Let’s first understand the responsibilities of the Dev and Ops teams before defining DevOps:
Table 1.1: Dev and Ops
Based on the existing culture, the implementation roadmap may differ from one organization to another as NO two organizations can have the same culture.
DevOps is a culture that consists of continuous practices that help to achieve faster time to market for an application with the highest quality by Continuous Improvement and Continuous Innovation by involving people, processes, and tools.
NOTE
What is DevOps not?
DevOps is not a methodology.
DevOps is not a tool.
DevOps is not a technology.
DevOps is not a framework.
DevOps is not a process.
DevOps is not scripting.
DevOps is not automation only.
DevOps is not a set of design patterns where problems and solutions are well defined.
The organization culture can be affected by cognitive biases as it is all about changing culture, and hence, resistance is inevitable. In this chapter, we will take a look at some cognitive biases and their solutions at some intervals with no specific context.
DevOps practices implementation needs visibility. It requires a vision. It also requires transparency and acceptance of the AS-IS scenario. Hence, it is important to assess the ground situation in the organization and derive a roadmap for effective adoption of the roadmap of this cultural transformation journey.
DevOps transformation depends on the following three major aspects:
People
Processes
Tools
Let’s understand each aspect in more detail.
People
DevOps is all about people, processes, and tools. It is important to note that people still have a high priority. People have a different notion about what DevOps is, but some are not even aware of it. People are tightly coupled with the existing culture and hence, transformation is difficult.
Each organization has a different culture and different set of practices exists, and hence, it is challenging to change things until people change their attitude and mindset.
Here are the following sets of people:
People who have a vision about change
People who lead the change
People who welcome change
People who drive the change
People who resist change
People who are confused regarding the change
If people resist and if they are not ready for the change, then it is very easy to predict the failure of the culture transformation initiative as people drive the change and not tools. From management to development/scrum team’s level, all stakeholders must be ready for the culture transformation initiative for better quality and speed in the lifecycle. It is important to have transparency in the transformation exercise as it helps to understand where implementation needs improvement and what we are doing right in the DevOps maturity model.
But, how to inspire change? Is there any formula that can assist in the culture transformation initiative? Yes!
The formula for change provides a space to assess the relative strengths affecting the success possibilities of change initiatives concerning the culture transformation:
D * V * F > R
The formula for change was created by David Gleicher and refined by Kathie Dannemiller later. Let’s try to understand this formula in the context of DevOps:
Figure 1.2: The formula for change
TIP
Declare war on existing issues.
Business is an exciting battle with limited time, considering the competitive market and evolution. Hence, it is essential to target root causes that are holding the organization back. It is important to assess existing issues first. Once the issues are identified, then proper solutions can be thought through:
Manual processes
Repetitive work
Rigidness of processes
No flexibility
Huge capital expenditure
No visibility
Let’s look at the dissatisfaction felt by people due to the existing culture and inefficient processes. What are the existing pain points or problems faced by project teams or organizations with existing cultures? The answer is manual and inefficient processes, bureaucracy, and so on.
The second aspect is the vision. What is the vision and benefits organization/business unit/project teams aim to achieve with the culture transformation?
Answer: Better quality of product, faster time to market, and continuous improvements, and so on.
The third aspect is the concrete steps needed to achieve the vision. How to achieve the vision? Which best practices or DevOps practices implementation will accelerate the culture transformation?
Answer: Phase-wise implementation of Continuous Practices.
If the product of these three factors (D * V * F) is greater than R = Resistance, then change is possible. If any of the factors is absent (zero) or low while D, V, and F are multiplied, then the multiplication will be zero or low, and therefore, it may not overcome the resistance.
Change is the mindset of the organization culture which is not impossible to achieve, but it is not easy to achieve as well. The reason behind these difficulties lies in the subjective realities created by people and sometimes it leads to the situations that are not considered rational. Let’s see some of the cognitive biases because of which people resist change in the organization and how DevOps practices helps to fix it.