Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Learning Continuous Integration with Jenkins
Learning Continuous Integration with Jenkins

Learning Continuous Integration with Jenkins: An end-to-end guide to creating operational, secure, resilient, and cost-effective CI/CD processes , Third Edition

eBook
$9.99 $39.99
Paperback
$49.99
Subscription
Free Trial
Renews at $19.99p/m

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Table of content icon View table of contents Preview book icon Preview Book

Learning Continuous Integration with Jenkins

The What, How, and Why of Continuous Integration

In this chapter, a comprehensive introduction to continuous integration (CI) is presented using the Golden Circle Theory (see [1] in the Further reading section at the end of the chapter) that will help us in answering the what, how, and why of CI.

Our focus here is primarily on defining the practice of CI, understanding its key principles, learning the elements required to achieve it, and lastly, answering why we practice CI.

The practical implementation of CI is, however, presented in detail throughout the remaining chapters of the book.

After completing this chapter, you should be able to do the following:

  • Explain what continuous integration is
  • Learn how to practice continuous integration
  • Understand why continuous integration is crucial

What is continuous integration?

In this section, we will try to answer what CI is in two basic steps. We will first attempt to define CI, and then examine its key principles.

Defining continuous integration

CI is a software development practice in which developers regularly integrate their code changes into the project’s shared work area and inspect their changes for build issues and other quality-related problems.

Integration is the act of submitting your modified code to the project’s main branch (the potential software solution). This is technically done by merging your feature branch to the main branch in a trunk-based development (a Git-based branching strategy) and, additionally, by merging the feature branch into the development branch in a Gitflow Workflow-based development (another Git-based branching strategy), as shown in the following figure:

Figure 1.1: The process of frequently integrating your changes with the main code

Figure 1.1: The process of frequently integrating your changes with the main code...

How to practice continuous integration

To understand how CI is practiced, you must first realize that it is a constantly evolving ecosystem of tools and technologies, and this section will go through most of them. At the end of this part, it will be obvious how these separate components and their associated tools contribute to the realization of the core concepts of CI outlined previously. Besides, the subsequent chapters of the book are a detailed, thorough elaboration on the practices presented here. As a result, the current section is crucial.

The topics discussed in the following sections are structured sequentially and in accordance with the various stages of an automated CI pipeline:

Figure 1.5: Various stages of a CI pipeline

Figure 1.5: Various stages of a CI pipeline

So, let’s start with the first and foremost aspect of CI: the version control system.

Using a version control tool

A version control system helps the team in controlling changes to the project’s source...

Why is continuous integration crucial?

The answer is straightforward: CI practices are critical because they enable teams to fulfill modern software development demands. But what are these demands, what benefits of CI help fulfill these demands, and how do they do so? This is what we'll look at in this section.

A faster time to market (TTM)

Also known as lead time or time to delivery, TTM is the time it takes a feature to get from its origin (typically a code change) to deployment in production. A higher TTM number indicates that features are being developed, tested, and delivered more slowly and infrequently. Most current software programs and services need more frequent software upgrades. So, let’s see some advantages of CI/CD that help achieve a lower TTM value:

Figure 1.12: Time to market (TTM)

Figure 1.12: Time to market (TTM)

Freedom from long integration – avoiding tolls

CI advocates for regular integration of your work with the main code. This method...

Summary

We began this chapter by studying the basics of CI and understanding its main principles. This was followed by a discussion of the numerous practices promoted by CI, as well as a look at the CI ecosystem of DevOps tools such as SonarQube, Git, and Artifactory. Finally, we learned how CI assists us in meeting the needs of modern software development. We learned a lot about several crucial CI/CD metrics that are used to assess the performance of CI and the productivity of software development while doing so. This taught us the what, how, and most importantly the why of CI.

The subsequent chapters of the book offer a practical step-by-step guide to the how of CI, that is, how to implement CI. And now that the concepts are clear, let’s start the very next chapter by learning how to set up and configure a Jenkins server.

Questions

  1. Which of the following best defines continuous integration (CI)?
    1. A software development practice that advocates the integration of code changes into a shared repository, enabling frequent testing and early detection of integration issues
    2. A methodology for deploying software frequently and reliably, ensuring that new features and updates are delivered to users quickly and seamlessly
    3. A tool or platform that provides a centralized environment for managing code changes, builds, and tests, facilitating collaboration among developers
    4. A mindset and set of practices that emphasize continuous improvement, rapid feedback, and the delivery of high-quality software in short cycles
  2. Which of the following best describes the concept of fail fast and shift left in software development?
    1. Identifying and fixing bugs early in the development process to minimize their impact and reduce costs
    2. Releasing software frequently with minimal testing to ensure rapid delivery and market responsiveness...

Answers

  1. Correct answer: A

    Explanation of incorrect answer choices:

    B. While CI is often associated with CD, CI’s primary focus is on automating the integration and testing of code changes, not on the deployment process. CD, on the other hand, deals with automating the deployment of software to the staging and production environments.

    C. CI tools and platforms are essential to implementing a CI practice, but they are not the defining characteristics of CI. CI is a broader concept that encompasses the practices, principles, and mindset of integrating code changes frequently and automating testing to ensure early detection of issues.

    D. While CI does promote continuous improvement, rapid feedback, and the delivery of high-quality software, these are not the primary goals of CI.

  2. Correct answer: A

    Explanation of incorrect answer choices:

    B. While releasing software frequently is a goal of many development teams, it should not come at the expense of thorough testing and bug fixing...

Further reading

If you wish to know more about some of the concepts that weren’t covered in depth in this chapter, we are happy to provide you with some references:

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Follow the construction of a Jenkins CI/CD pipeline start to finish through a real-world example
  • Construct a continuous deployment (CD) pipeline in Jenkins using GitOps principles and integration with Argo CD
  • Craft and optimize your CI pipeline code with ChatGPT and GitHub Copilot
  • Purchase of the print or Kindle book includes a free PDF eBook

Description

This updated edition of Learning Continuous Integration with Jenkins is your one-stop guide to implementing CI/CD with Jenkins, addressing crucial technologies such as cloud computing, containerization, Infrastructure as Code, and GitOps. Tailored to both beginners and seasoned developers, the book provides a practical path to mastering a production-grade, secure, resilient, and cost-effective CI/CD setup. Starting with a detailed introduction to the fundamental principles of CI, this book systematically takes you through setting up a CI environment using Jenkins and other pivotal DevOps tools within the CI/CD ecosystem. You’ll learn to write pipeline code with AI assistance and craft your own CI pipeline. With the help of hands-on tutorials, you’ll gain a profound understanding of the CI process and Jenkins’ robust capabilities. Additionally, the book teaches you how to expand your CI pipeline with automated testing and deployment, setting the stage for continuous deployment. To help you through the complete software delivery process, this book also covers methods to ensure that your CI/CD setup is maintainable across teams, secure, and performs optimally. By the end of the book, you’ll have become an expert in implementing and optimizing CI/CD setups across diverse teams.

Who is this book for?

This book is for a diverse audience, from university students studying Agile software development to seasoned developers, testers, release engineers, and project managers. If you’re already using Jenkins for CI, this book will assist you in elevating your projects to CD. Whether you’re new to the concepts of Agile, CI, and CD, or a DevOps engineer seeking advanced insights into JCasC, IaC, and Azure, this book will equip you with the tools to harness Jenkins for improved productivity and streamlined deliveries in the cloud.

What you will learn

  • Understand CI with the Golden Circle theory
  • Deploy Jenkins on the cloud using Helm charts and Jenkins Configuration as Code (JCasC)
  • Implement optimal security practices to ensure Jenkins operates securely
  • Extend Jenkins for CI by integrating with SonarQube, GitHub, and Artifactory
  • Scale Jenkins using containers and the cloud for optimal performance
  • Master Jenkins declarative syntax to enrich your pipeline coding vocabulary
  • Enhance security and improve pipeline code within your CI/CD process using best practices

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Jan 31, 2024
Length: 396 pages
Edition : 3rd
Language : English
ISBN-13 : 9781835081129
Concepts :
Tools :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
OR
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Product Details

Publication date : Jan 31, 2024
Length: 396 pages
Edition : 3rd
Language : English
ISBN-13 : 9781835081129
Concepts :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total $ 144.97
Observability with Grafana
$49.99
Learning Continuous Integration with Jenkins
$49.99
Kubernetes Secrets Handbook
$44.99
Total $ 144.97 Stars icon
Banner background image

Table of Contents

18 Chapters
Part 1: The Concepts Chevron down icon Chevron up icon
Chapter 1: The What, How, and Why of Continuous Integration Chevron down icon Chevron up icon
Part 2: Engineering the CI Ecosystem Chevron down icon Chevron up icon
Chapter 2: Planning, Deploying, and Maintaining Jenkins Chevron down icon Chevron up icon
Chapter 3: Securing Jenkins Chevron down icon Chevron up icon
Chapter 4: Extending Jenkins Chevron down icon Chevron up icon
Chapter 5: Scaling Jenkins Chevron down icon Chevron up icon
Part 3: Crafting the CI Pipeline Chevron down icon Chevron up icon
Chapter 6: Enhancing Jenkins Pipeline Vocabulary Chevron down icon Chevron up icon
Chapter 7: Crafting AI-Powered Pipeline Code Chevron down icon Chevron up icon
Chapter 8: Setting the Stage for Writing Your First CI Pipeline Chevron down icon Chevron up icon
Chapter 9: Writing Your First CI Pipeline Chevron down icon Chevron up icon
Part 4: Crafting the CD Pipeline Chevron down icon Chevron up icon
Chapter 10: Planning for Continuous Deployment Chevron down icon Chevron up icon
Chapter 11: Writing Your First CD Pipeline Chevron down icon Chevron up icon
Chapter 12: Enhancing Your CI/CD Pipelines Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Rating distribution
Full star icon Full star icon Full star icon Full star icon Full star icon 5
(5 Ratings)
5 star 100%
4 star 0%
3 star 0%
2 star 0%
1 star 0%
jml Feb 16, 2024
Full star icon Full star icon Full star icon Full star icon Full star icon 5
There’s a lot to like about Learning Continuous Integration with Jenkins. The book covers everything you need to know about setting up and running CI/CD under Jenkins, along with SonarQube, Artifactory, and other supporting technologies. Starting with an in-depth introduction to CI processes and tools, the reader will become familiar with building declarative pipelines, including tips like the Directive and Snippet Generators as well as use of ChatGPT for novice users. Next, the reader is walked through deployment scenarios and the use of monitoring tools like Blue Ocean. A final chapter includes advanced topics and maintenance information. Visual aids are sprinkled throughout the book to illustrate the pipeline processes. Each chapter includes a quiz that not only provides the answer key right after the quiz (instead of at the end of the book) but also explains the answer choices and why each one is correct or incorrect. This is an excellent learning aid and more books should adopt the technique.Learning Continuous Integration with Jenkins is heavily git and Azure-based, so those who are relying on other technologies may need to do further research. Most of the coverage will transfer to any Jenkins installation and the explanations of the tools / processes makes this book a must-read for anyone building or administering a Jenkins infrastructure.
Amazon Verified review Amazon
Mayank Jadhav Mar 20, 2024
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This book is a valuable resource for anyone looking to learn Jenkins, regardless of their experience level. Both novice and seasoned DevOps engineers will find practical takeaways to enhance their CI/CD pipelines.Key Skills You'll Gain:- Deploy Jenkins on a managed Kubernetes cluster for scalability and ease of use.- Secure your Jenkins instance with Azure Active Directory integration.- Streamline your development workflow by connecting Jenkins to tools like SonarQube for code quality analysis and Artifactory for secure package management.- Craft efficient pipeline code using Jenkins Shared Libraries for reusability and modularity.- Leverage cutting-edge practices like Multibranch Pipeline Jobs for streamlined management of code from various branches.- Integrate Jenkins with Argo CD for automated deployments, fostering a smooth CI/CD process.The chapter that fascinated me more in this book is "Crafting AI-PoweredPipeline Code".In this chapter, Nikhil Pathania has explained how to describe your pipeline requirements to ChatGPT.For example, you might say:“Act like a DevOps engineer with over 15 years of experience. Set up a Jenkins pipeline for a web application that will build the project, run tests, and deploy to a staging server.The book's clear language, vibrant diagrams, and well-structured content make it easy to understand even for those new to Jenkins. Nikhil Pathania's expertise shines through in his explanations, making this a truly valuable resource.Highly recommend this book for anyone who wants to take their Jenkins skills to the next level!
Amazon Verified review Amazon
Yiqiao Yin Mar 23, 2024
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Book Review: "Learning Continuous Integration with JenkinsIn the evolving landscape of software development, agility and efficiency in delivering software products stand paramount. Nikhil Pathania's "Learning Continuous Integration with Jenkins" emerges as an essential guide, illuminating the path for professionals and beginners alike to harness Continuous Integration (CI) and Continuous Delivery (CD) methodologies. With his profound expertise in the Software Development Lifecycle (SDLC) domain, especially in Agile methodologies, DevOps practices, and cloud technologies, Pathania offers a comprehensive blueprint to elevate software delivery processes through Jenkins.The book embarks on its journey by demystifying the concepts of CI and CD, spotlighting their significance in the Agile framework. It adeptly explains the necessity for software delivery solutions that are not only swift but also adaptable to changes. This foundational understanding sets the stage for readers to appreciate the ensuing technical guidance on setting up and maximizing Jenkins.One of the book's core strengths lies in its detailed exploration of Jenkins 2.x's features. Pathania skillfully navigates through the "pipeline as code" concept, Multibranch pipeline, Docker Plugin, and more, showing readers how to leverage these for optimizing CI and CD. The inclusion of Jenkins Blue Ocean interface and its role in simplifying CI pipeline creation is particularly noteworthy, offering a hands-on approach to utilizing Jenkins for CI and CD.Beyond theory, Pathania enriches the book with practical insights and real-world tips. From setting up Jenkins in various configurations to managing security and permissions, the book covers a broad spectrum of operational aspects. The emphasis on plugins and their power in extending Jenkins' functionality provides readers with the tools to tailor Jenkins to their specific needs. Furthermore, the discussion on creating a distributed build farm using Docker underscores the book's relevance in today's container-centric development environments."Learning Continuous Integration with Jenkins" is tailored for individuals stepping into the world of Agile, CI, and CD. It serves as an invaluable resource for Build and Release engineers, DevOps engineers, SCM engineers, developers, testers, and project managers. Moreover, those already familiar with Jenkins but looking to advance to CD will find this book elevating their knowledge to a new level.This new edition doesn't just stop at explaining CI and CD; it ventures into crucial technologies like cloud computing, containerization, Infrastructure as Code, and GitOps. The book is designed to be future-proof, guiding readers through setting up a production-grade, secure, resilient, and cost-effective CI/CD setup. Through hands-on tutorials and best practices, Pathania ensures that the reader gains a deep understanding of not only the CI process but also the comprehensive capabilities of Jenkins.Nikhil Pathania's "Learning Continuous Integration with Jenkins" stands out as a meticulously crafted guide, perfect for those eager to master CI/CD with Jenkins. Its practical approach, combined with the depth of content covering the latest in Jenkins and associated DevOps tools, makes it a must-read for anyone looking to improve software productivity and delivery speed. In the end, readers are not just exposed to Jenkins; they are equipped with the knowledge to implement and optimize CI/CD setups, ensuring their development processes are agile, secure, and efficient.
Amazon Verified review Amazon
Bryan Guinn Feb 17, 2024
Full star icon Full star icon Full star icon Full star icon Full star icon 5
"Learning Continuous Integration with Jenkins, Third Edition" by Nikhil Pathania is an indispensable resource for anyone looking to dive deep into the world of Continuous Integration and Continuous Deployment using Jenkins. This edition not only covers the foundational principles and practices of CI/CD but also introduces the reader to cutting-edge technologies and tools that integrate seamlessly into Jenkins workflows.The author's approach to highlighting key concepts in bold and providing specific examples of tools and technologies makes complex topics accessible and engaging. The inclusion of Configuration as Code and Helm in this edition addresses the evolving needs of DevOps practices, ensuring readers are up to speed with the latest in Jenkins configurations.Moreover, the section on integrating ChatGPT for pipeline code is a standout, offering insightful tips on crafting effective queries and avoiding common pitfalls. This guidance is invaluable for leveraging AI in CI/CD pipelines, demonstrating the book's commitment to embracing the future of DevOps.The questions at the end of each chapter serve as a thoughtful tool for self-assessment, reinforcing the learning experience. Whether you're new to Jenkins or looking to refine your expertise, this book provides a thorough, practical, and forward-looking guide to mastering CI/CD with Jenkins.In summary, "Learning Continuous Integration with Jenkins, Third Edition" is not just a book but a mentor, guiding you through the intricacies of Jenkins with clarity, depth, and foresight. A must-read for aspiring and seasoned DevOps professionals alike.
Amazon Verified review Amazon
Nihar Feb 29, 2024
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This book provides a comprehensive exploration of Jenkins, delving into every aspect with surprising depth. The initial chapters on Jenkins setup and administration, often overlooked, are covered thoroughly in this book.It offers numerous useful tips on leveraging ChatGPT for generating CI/CD pipeline codes.The inclusion of vibrant & fresh graphics throughout the book elevates the reading experience.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.