Book description
Speed up the software delivery process and software productivity using the latest features of Jenkins
About This Book
- Take advantage of a Continuous Integration and Continuous Delivery solution to speed up productivity and achieve faster software delivery
- See all the new features introduced in Jenkins 2.x, such as Pipeline as code, Multibranch pipeline, Docker Plugin, and more
- Learn to implement Continuous Integration and Continuous Delivery by orchestrating multiple DevOps tools using Jenkins
Who This Book Is For
The book is for those with little or no previous experience with Agile or CI and CD. It's a good starting point for anyone new to this field who wants to leverage the benefits of CI and CD to increase productivity and reduce delivery time. It's ideal for Build and Release engineers, DevOps engineers, SCM (Software Configuration Management) engineers, developers, testers, and project managers. If you're already using Jenkins for CI, you can take your project to the next level—CD.
What You Will Learn
- Get to know some of the most popular ways to set up Jenkins
- See all the new features introduced in the latest Jenkins, such as pipeline as code, Multibranch pipeline, and more
- Manage users, projects, and permissions in Jenkins to ensure better security
- Leverage the power of plugins in Jenkins
- Learn how to create a CI pipeline using Jenkins Blue Ocean
- Create a distributed build farm using Docker and use it with Jenkins
- Implement CI and CD using Jenkins
- See the difference between CD and Continuous Deployment
- Understand the concepts of CI
In Detail
In past few years, agile software development has seen tremendous growth. There is a huge demand for software delivery solutions that are fast yet flexible to numerous amendments. As a result, Continuous Integration (CI) and Continuous Delivery (CD) methodologies are gaining popularity.
This book starts off by explaining the concepts of CI and its significance in the Agile. Next, you'll learn how to configure and set up Jenkins in many different ways. The book exploits the concept of "pipeline as code" and various other features introduced in the Jenkins 2.x release to their full potential. We also talk in detail about the new Jenkins Blue Ocean interface and the features that help to quickly and easily create a CI pipeline. Then we dive into the various features offered by Jenkins one by one, exploiting them for CI and CD. Jenkins' core functionality and flexibility allows it to fit in a variety of environments and can help streamline the development process for all stakeholders. Next, you'll be introduced to CD and will learn how 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 CI and CD using Jenkins.
Style and approach
The book uses a simple Maven project to demonstrate the implementation of CI and CD using Jenkins. This step-by-step guide shows you how to implement CI/CD and can be used as a template to perform CI/CD in your projects.
Table of contents
- Title Page
- Copyright
- Credits
- About the Author
- About the Reviewer
- www.PacktPub.com
- Customer Feedback
- Preface
- Concepts of Continuous Integration
-
Installing Jenkins
- Running Jenkins inside a servlet container
- Installing a standalone Jenkins server on Windows
- Installing a standalone Jenkins server on Ubuntu
- Installing a standalone Jenkins server on Red Hat Linux
-
Running Jenkins behind a reverse proxy
- Prerequisites
- Installing and configuring Nginx
- Configuring the firewall on a Nginx server
- Starting, stopping, and restarting the Nginx server
- Securing Nginx using OpenSSL
- Configuring the Jenkins server
- Adding reverse proxy settings to the Nginx configuration
- Running Nginx and Jenkins on the same machine
- Running Jenkins on Docker
- Creating development and staging instances of Jenkins
- Summary
- The New Jenkins
- Configuring Jenkins
-
Distributed Builds
- Distributed build and test
- The Jenkins Manage Nodes page
- Adding Jenkins slaves – standalone Linux machine/VMs
- More about the active Jenkins slave
- Adding Jenkins slaves – standalone Windows machine/VMs
- Adding Jenkins slaves – Docker containers
- Summary
-
Installing SonarQube and Artifactory
-
Installing and configuring SonarQube
- Installing Java
- Downloading the SonarQube package
- Running the SonarQube application
- Resetting the default credentials and generating a token
- Creating a project inside SonarQube
- Installing the build breaker plugin for SonarQube
- Creating quality gates
- Updating the default quality profile
- Installing the SonarQube plugin in Jenkins
- Configuring the SonarQube plugin in Jenkins
-
Installing and configuring Artifactory
- Installing Java
- Downloading the Artifactory package
- Running the Artifactory application
- Resetting the default credentials and generating an API key
- Creating a repository in Artifactory
- Adding Artifactory credentials inside Jenkins
- Installing the Artifactory plugin in Jenkins
- Configuring the Artifactory Plugin
- Summary
-
Installing and configuring SonarQube
-
Continuous Integration Using Jenkins
- Jenkins CI design  
-
Creating the CI pipeline
- Creating a new repository on GitHub
- Using the SonarQube scanner for Maven
-
Writing the Jenkinsfile for CI
- Spawning a Docker container – build agent
- Downloading the latest source code from VCS
- Pipeline code to perform the build and unit test
- Pipeline code to perform static code analysis
- Pipeline code to perform integration testing
- Pipeline code to publish built artifacts to Artifactory
- Combined CI pipeline code
- Using a Jenkinsfile
- Creating a Multibranch Pipeline in Jenkins
- Re-registering the Webhooks
- Continuous Integration in action
- Summary
-
Continuous Delivery Using Jenkins
- Jenkins CD design
- Creating a Docker image – performance testing
- Creating a performance test using JMeter
-
The CD pipeline
-
Writing the Jenkinsfile for CD
- Revisiting the pipeline code for CI
- Pipeline code to stash the build artifacts
- Spawning a Docker container – performance testing
- Pipeline code to start Apache Tomcat
- Pipeline code to deploy build artifacts
- Pipeline code to run performance testing
- Pipeline code to promote build artifacts in Artifactory
- Combined CD pipeline code
-
Writing the Jenkinsfile for CD
- CD in action
- Summary
- Continuous Deployment Using Jenkins
- Supporting Tools and Installation Guide
Product information
- Title: Learning Continuous Integration with Jenkins - Second Edition
- Author(s):
- Release date: December 2017
- Publisher(s): Packt Publishing
- ISBN: 9781788479356
You might also like
video
Hands-On Continuous Integration and Automation with Jenkins
In agile development practices, developers need to integrate their work frequently to fix bugs or to …
book
Learning Continuous Integration with Jenkins
A beginner's guide to implementing Continuous Integration and Continuous Delivery using Jenkins About This Book Speed …
book
Continuous Delivery with Docker and Jenkins - Third Edition
Create a complete continuous delivery process using modern DevOps tools such as Docker, Jenkins, Kubernetes, Ansible, …
book
Jenkins 2: Up and Running
Design, implement, and execute continuous delivery pipelines with a level of flexibility, control, and ease of …