Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

Hands-on Pipeline as Code with Jenkins: CI/CD Implementation for Mobile, Web, and Hybrid Applications Using Declarative Pipeline in Jenkins (English Edition)
Hands-on Pipeline as Code with Jenkins: CI/CD Implementation for Mobile, Web, and Hybrid Applications Using Declarative Pipeline in Jenkins (English Edition)
Hands-on Pipeline as Code with Jenkins: CI/CD Implementation for Mobile, Web, and Hybrid Applications Using Declarative Pipeline in Jenkins (English Edition)
Ebook754 pages3 hours

Hands-on Pipeline as Code with Jenkins: CI/CD Implementation for Mobile, Web, and Hybrid Applications Using Declarative Pipeline in Jenkins (English Edition)

Rating: 0 out of 5 stars

()

Read preview

About this ebook

The main objective of the book is to create Declarative Pipeline for programming languages such as Java, Android, iOS, AngularJS, NodeJS, Flutter, Ionic Cordova, and .Net. The book starts by introducing all the areas which encompass the field of DevOps Practices. It covers definition of DevOps, DevOps history, benefits of DevOps culture, DevOps and Value Streams, DevOps practices, different Pipeline types such as Build Pipeline, Scripted Pipeline, Declarative Pipeline, and Blue Ocean. Each chapter focuses on Pipeline that includes Static Code Analysis using SonarQube or Lint tools, Unit tests, calculating code coverage, publishing unit tests and coverage reports, verifying the threshold of code coverage, creating build/package, and distributing package to a specific environment based on the type of programming language. The book will also teach you how to use different deployment distribution environments such as Azure App Services, Docker, Azure Container Services, Azure Kubernetes Service, and App Center.

By the end, you will be able to implement DevOps Practices using Jenkins effectively and efficiently.
LanguageEnglish
Release dateFeb 11, 2021
ISBN9789389898613
Hands-on Pipeline as Code with Jenkins: CI/CD Implementation for Mobile, Web, and Hybrid Applications Using Declarative Pipeline in Jenkins (English Edition)

Related to Hands-on Pipeline as Code with Jenkins

Related ebooks

Computers For You

View More

Related articles

Reviews for Hands-on Pipeline as Code with Jenkins

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    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.

    Enjoying the preview?
    Page 1 of 1