Hands-on Pipeline as Code with Jenkins
eBook - ePub

Hands-on Pipeline as Code with Jenkins

CI/CD Implementation for Mobile, Web, and Hybrid Applications Using Declarative Pipeline in Jenkins (English Edition)

Ankita Patil

  1. English
  2. ePUB (handyfreundlich)
  3. Über iOS und Android verfügbar
eBook - ePub

Hands-on Pipeline as Code with Jenkins

CI/CD Implementation for Mobile, Web, and Hybrid Applications Using Declarative Pipeline in Jenkins (English Edition)

Ankita Patil

Angaben zum Buch
Buchvorschau
Inhaltsverzeichnis
Quellenangaben

Über dieses Buch

A step-by-step guide to implementing Continuous Integration and Continuous Delivery (CICD) for Mobile, Hybrid, and Web applications Key Features

  • Understand how and when Continuous Integration makes a difference
  • Learn how to create Declarative Pipeline for Continuous Integration and Continuous Delivery
  • Understand the importance of Continuous Code Inspection and Code Quality
  • Learn to publish Unit Test and Code Coverage in Declarative Pipeline
  • Understand the importance of Quality Gates and Build Quality Description
    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. What you will learn
  • Use Multi-Stage Pipeline (Pipeline as a Code) to implement Continuous Integration and Continuous Delivery.
  • Create and configure Cloud resources using Platform as a Service Model
  • Deploy apps to Azure App Services, Azure Kubernetes and containers
  • Understand how to distribute Mobile Apps (APK and IPA) to App Center
  • Improve Code Quality and Standards using Continuous Code Inspection Who this book is for
    This book is for DevOps Consultants, DevOps Evangelists, DevOps Engineers, Technical Specialists, Technical Architects, Cloud Experts, and Beginners. Having a basics knowledge of Application development and deployment, Cloud Computing, and DevOps Practices would be an added advantage. Table of Contents
    1. Introducing DevOps
    2. Introducing Jenkins 2.0 and Blue Ocean
    3. Building CICD Pipeline for Java Web Application
    4. Building CICD Pipeline for Android App
    5. Building CICD Pipeline for iOS App
    6. Building CICD Pipeline for Angular Application
    7. Building CICD Pipeline NodeJS Application
    8. Building CICD Pipeline for Hybrid Mobile Application
    9. Building CICD Pipeline for Python Application
    10. Building CICD Pipeline for DotNet Application
    11. Best Practices About the Author
    Mitesh is a DevOps engineer. He is in love with the DevOps culture and concept. Continuous improvement is his motto in life with existing imperfection. His primary focus is on the improvement of the existing culture of an organization or a project using Continuous Integration and Continuous Delivery. Ankita is a DevOps evangelist. She is a continuous learner and practitioner of Agile and DevOps. As a change agent, she always tries to bring change in an organization to get maximum benefits of DevOps. So, she wants to share her knowledge and make sure IT professionals are trained and empowered to make those changes.

Häufig gestellte Fragen

Wie kann ich mein Abo kündigen?
Gehe einfach zum Kontobereich in den Einstellungen und klicke auf „Abo kündigen“ – ganz einfach. Nachdem du gekündigt hast, bleibt deine Mitgliedschaft für den verbleibenden Abozeitraum, den du bereits bezahlt hast, aktiv. Mehr Informationen hier.
(Wie) Kann ich Bücher herunterladen?
Derzeit stehen all unsere auf Mobilgeräte reagierenden ePub-Bücher zum Download über die App zur Verfügung. Die meisten unserer PDFs stehen ebenfalls zum Download bereit; wir arbeiten daran, auch die übrigen PDFs zum Download anzubieten, bei denen dies aktuell noch nicht möglich ist. Weitere Informationen hier.
Welcher Unterschied besteht bei den Preisen zwischen den Aboplänen?
Mit beiden Aboplänen erhältst du vollen Zugang zur Bibliothek und allen Funktionen von Perlego. Die einzigen Unterschiede bestehen im Preis und dem Abozeitraum: Mit dem Jahresabo sparst du auf 12 Monate gerechnet im Vergleich zum Monatsabo rund 30 %.
Was ist Perlego?
Wir sind ein Online-Abodienst für Lehrbücher, bei dem du für weniger als den Preis eines einzelnen Buches pro Monat Zugang zu einer ganzen Online-Bibliothek erhältst. Mit über 1 Million Büchern zu über 1.000 verschiedenen Themen haben wir bestimmt alles, was du brauchst! Weitere Informationen hier.
Unterstützt Perlego Text-zu-Sprache?
Achte auf das Symbol zum Vorlesen in deinem nächsten Buch, um zu sehen, ob du es dir auch anhören kannst. Bei diesem Tool wird dir Text laut vorgelesen, wobei der Text beim Vorlesen auch grafisch hervorgehoben wird. Du kannst das Vorlesen jederzeit anhalten, beschleunigen und verlangsamen. Weitere Informationen hier.
Ist Hands-on Pipeline as Code with Jenkins als Online-PDF/ePub verfügbar?
Ja, du hast Zugang zu Hands-on Pipeline as Code with Jenkins von Ankita Patil im PDF- und/oder ePub-Format sowie zu anderen beliebten Büchern aus Computer Science & Computer Engineering. Aus unserem Katalog stehen dir über 1 Million Bücher zur Verfügung.

Information

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:
Dev
Ops
  • Write robust applications using design patterns and best practices
  • Maintain code quality and standards
  • Write practical unit tests and utilize active test-driven development
  • Verifying behavior of an application
  • Automated provisioning and de-provisioning of environments
  • Scaling up/down, in/out
  • Manage Infrastructure as a Code (IaC) to maintain version and visibility
  • Configuration management, monitoring and measurements
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 ...

Inhaltsverzeichnis

Zitierstile für Hands-on Pipeline as Code with Jenkins

APA 6 Citation

Patil, A., & Soni, M. (2021). Hands-on Pipeline as Code with Jenkins ([edition unavailable]). BPB Publications. Retrieved from https://www.perlego.com/book/2660996/handson-pipeline-as-code-with-jenkins-cicd-implementation-for-mobile-web-and-hybrid-applications-using-declarative-pipeline-in-jenkins-english-edition-pdf (Original work published 2021)

Chicago Citation

Patil, Ankita, and Mitesh Soni. (2021) 2021. Hands-on Pipeline as Code with Jenkins. [Edition unavailable]. BPB Publications. https://www.perlego.com/book/2660996/handson-pipeline-as-code-with-jenkins-cicd-implementation-for-mobile-web-and-hybrid-applications-using-declarative-pipeline-in-jenkins-english-edition-pdf.

Harvard Citation

Patil, A. and Soni, M. (2021) Hands-on Pipeline as Code with Jenkins. [edition unavailable]. BPB Publications. Available at: https://www.perlego.com/book/2660996/handson-pipeline-as-code-with-jenkins-cicd-implementation-for-mobile-web-and-hybrid-applications-using-declarative-pipeline-in-jenkins-english-edition-pdf (Accessed: 15 October 2022).

MLA 7 Citation

Patil, Ankita, and Mitesh Soni. Hands-on Pipeline as Code with Jenkins. [edition unavailable]. BPB Publications, 2021. Web. 15 Oct. 2022.