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

Sample use cases


It is always good to learn from others' experiences. The following are the use cases published by some famous organizations that can give us some idea of the hardware specification.

Netflix

In 2012, Netflix had the following configuration:

Hardware configuration:

  • 2x quad core x86_64 for the Jenkins master with 26 GB RAM

  • 1 Jenkins master with 700 engineers using it

  • Elastic slaves with Amazon EC2 + 40 ad-hoc slaves in Netflix's data center

Work load:

  • 1,600 Jenkins jobs

  • 2,000 Builds per day

  • 2 TB of build data

Yahoo!

In 2013, Yahoo! had the following configuration:

Hardware configuration:

  • 2 x Xeon E5645 2.40GHz, 4.80GT QPI (HT enabled, 12 cores, 24 threads) with 96 GB RAM, and 1.2 TB of disk space

  • 1 Jenkins master with 1,000 engineers using it

  • 48 GB max heap to JVM

  • $JENKINS_HOME* lives on NetApp

  • 20 TB filer volume to store Jenkins job and build data

  • 50 Jenkins slaves in three data centers

Workload:

  • 13,000 Jenkins jobs

  • 8,000 builds per day

    Note

    $JENKINS_HOME is the environment variable that stores...