Book Image

Learning Continuous Integration with Jenkins

By : Nikhil Pathania
Book Image

Learning Continuous Integration with Jenkins

By: Nikhil Pathania

Overview of this book

In past few years, Agile software development has seen tremendous growth across the world. There is huge demand for software delivery solutions that are fast yet flexible to frequent amendments. As a result, CI and continuous delivery methodologies are gaining popularity. Jenkins’ core functionality and flexibility allows it to fit in a variety of environments and can help streamline the development process for all stakeholders. This book starts off by explaining the concepts of CI and its significance in the Agile world with a whole chapter dedicated to it. Next, you’ll learn to configure and set up Jenkins. You’ll gain a foothold in implementing CI and continuous delivery methods. We dive into the various features offered by Jenkins one by one exploiting them for CI. After that, you’ll find out how to use the built-in pipeline feature of Jenkins. You’ll see how to integrate Jenkins with code analysis tools and test automation tools in order to achieve continuous delivery. Next, you’ll be introduced to continuous deployment and learn to achieve it using Jenkins. Through this book’s wealth of best practices and real-world tips, you'll discover how easy it is to implement a CI service with Jenkins.
Table of Contents (15 chapters)
Learning Continuous Integration with Jenkins
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Creating Jenkins Continuous Delivery pipeline


This Continuous Delivery pipeline contains five Jenkins jobs: two old and three new ones. In the current section, we will first modify the two existing Jenkins Jobs, and later we will create three new Jenkins Jobs.

Modifying the existing Jenkins job

Before we begin creating new jobs in Jenkins to achieve Continuous Delivery, we need to modify all the existing ones. The modifications that we intend to do are of two types:

  • Map all the existing Jenkins jobs to a particular Jenkins node: We will do this by modifying advanced project options in all the existing Jenkins jobs. This is because the existing Jenkins jobs are currently running on the Jenkins master node; this is a default behavior. However, since we have introduced a new Jenkins slave node, it's important to tell all the Jenkins jobs where to run. Not doing so will make Jenkins jobs choose nodes by themselves, leading to failures.

  • Modifying the method through which a Jenkins job triggers...