Book Image

Jenkins Essentials - Second Edition

By : Mitesh Soni
Book Image

Jenkins Essentials - Second Edition

By: Mitesh Soni

Overview of this book

<p>In agile development practices, developers need to integrate their work frequently to fix bugs or to create a new feature or functionality. Jenkins is used specifically for Continuous Integration, helping to enforce the principles of agile development. This book focuses on the latest and stable release of Jenkins (2.5 and later), featuring the latest features, such as Pipeline as Code, the new setup experience, and the improved UI. With the all-new Pipeline as Code feature, you will be able to build simple or advanced pipelines easily and rapidly, hence improving your teams' productivity.</p> <p>This book begins by tackling the installation of the necessary software dependencies and libraries you'll need to perform Continuous Integration for a Java application. From there, you'll integrate code repositories, applications, and build tools for the implementation of Continuous Integration.</p> <p>Finally, you will also learn how to automate your deployment on cloud platforms such as AWS and Microsoft Azure, along with a few advanced testing techniques.</p>
Table of Contents (17 chapters)
Title Page
Credits
About the Author
About the Reviewers
www.PacktPub.com
Customer Feedback
Dedication
Preface

Managing Jenkins master and slave nodes


Jenkins supports a Master/Agent architecture. In a Master/Agent architecture, we can install Jenkins on the master and then utilize other agents for distributing the load.

We can delegate Jenkins jobs to agents for execution. This way we can support multiple executions using different resources.

There are specific scenarios where a Master/Agent architecture is extremely useful, such as the following:

  • A Jenkins machine has limited capacity. Even with higher capacity, there will be a time when it can't fulfil all requests. By distributing the load between Agent nodes, we can free system resources where Jenkins is installed.
  • Different jobs require different kinds of resources, and they are restricted to specific machines only. In such cases, we can only utilize that machine -- it is not possible to configure it on the Jenkins system -- so it is better to utilize that machine as an agent.
  • If different operating systems are required or some tools work only in...