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

Distributed testing solutions


Implementing simple stand-alone test jobs in Jenkins is easy; however it's not very scalable. For tests that are long-running or require a significant amount of computing resources we will want to implement a more scalable automated testing solution. Fortunately there are a several ways to accomplish this. In this section of Mastering Jenkins we will learn some tricks we can employ to assist us when the need arises to scale our automated testing solutions.

The Selenium Grid

One potential automated testing solution that can effectively scale and parallelize automated tests is a Selenium grid (Web Driver). The Selenium grid was conceptualized via Dan Fabulich, and Nelson Sproul (with help from Pat Lightbody) in 2005. It wasn't until 2008 however that the Selenium grid as we know it came into fruition. It was further enhanced into the Selenium WebDriver, which is the popular implementation used today. Used by popular companies such as eBay, Google, Merck, Yahoo and...