Book Image

Mastering Jenkins

By : jmcallister -, Jonathan McAllister
Book Image

Mastering Jenkins

By: jmcallister -, Jonathan McAllister

Overview of this book

With the software industry becoming more and more competitive, organizations are now integrating delivery automation and automated quality assurance practices into their business model. Jenkins represents a complete automation orchestration system, and can help converge once segregated groups into a cohesive product development and delivery team. By mastering the Jenkins platform and learning to architect and implement Continuous Integration, Continuous Delivery, and Continuous Deployment solutions, your organization can learn to outmanoeuvre and outpace the competition. This book will equip you with the best practices to implement advanced continuous delivery and deployment systems in Jenkins. The book begins with giving you high-level architectural fundamentals surrounding Jenkins and Continuous Integration. You will cover the different installation scenarios for Jenkins, and see how to install it as a service, as well as the advanced XML configurations. Then, you will proceed to learn more about the architecture and implementation of the Jenkins Master/Save node system, followed by creating and managing Jenkins build jobs effectively. Furthermore, you'll explore Jenkins as an automation orchestration system, followed by implementing advanced automated testing techniques. The final chapters describe in depth the common integrations to Jenkins from third-party tools such as Jira, Artifactory, Amazon EC2, and getting the most out of the Jenkins REST-based API. By the end of this book, you will have all the knowledge necessary to be the definitive resource for managing and implementing advanced Jenkins automation solutions for your organization.
Table of Contents (18 chapters)
Mastering Jenkins
Credits
Foreword
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Foreword

Agile practices are gaining influence within diverse companies worldwide, yet not without a cultural and technological tension between delivery teams and various groups within their organizations.

This tension is partly born of a natural instinct to reject new ideas, but more importantly due to a disbelief that these practices will live up to their claim of delivering business value at a faster rate with better quality.

Although this book is not entirely focused on project management per se, it does lay the foundation for the success of modern product development by creating the case for Continuous Build, Integration, Delivery, and Deployment solutions.

Continuous practices help ensure that the software is being compiled and tested properly and is always in a deployable state, not only on the developer's workstation. Continuous integration will ensure that the different subsystems function correctly according to the expectations set in code and by the business. Continuous delivery ensures that the artefacts created in the previous steps can be reused and deployed to higher environments to showcase the product to its stakeholders, whereas continuous deployment pushes these artefacts to production for quick assessment of a hypothesis.

Creating a delivery pipeline is at the core of our ability to develop business value with a cadence that is desired by product owners. This is achieved thanks to something we never had the luxury of having previously: the ability to fail fast because we could not hope for anything better than being able to quickly test a hypothesis by deploying it, assessing its impact, and reverting or pivoting when misguided or misinformed about our market conditions.

Producing software in this manner cannot be achieved without automation. This provides a safety net for developers as they adapt or refactor code; it scales the regression test cases as the product evolves and grows and, perhaps as importantly, describes and executes server provisioning, configuration, and the deployment of its applications.

A product's success is based on fast feedback, whether good or bad, and this book details the practical ways of using Jenkins, its plugins, and ecosystem to assure fast feedback for architects, developers, testers, the product's stakeholders, and by extension, its customers.

It is therefore essential to master the pipeline architecture and automation in order to give businesses the tools that shorten the time between concept to cash, in addition to creating low-ceremony deployments as part of the standard software development lifecycle.

Taken holistically, this book will not only teach you about deployment pipelines using Jenkins, but will also prepare you for the cultural change to DevOps, which will improve your product development methods even further.

Itamar Hassin

Thought Leader and Project Lead, ThoughtWorks