Book Image

Extending Jenkins

By : Donald Simpson
Book Image

Extending Jenkins

By: Donald Simpson

Overview of this book

Jenkins CI is the leading open source continuous integration server. It is written in Java and has a wealth of plugins to support the building and testing of virtually any project. Jenkins supports multiple Software Configuration Management tools such as Git, Subversion, and Mercurial. This book explores and explains the many extension points and customizations that Jenkins offers its users, and teaches you how to develop your own Jenkins extensions and plugins. First, you will learn how to adapt Jenkins and leverage its abilities to empower DevOps, Continuous Integration, Continuous Deployment, and Agile projects. Next, you will find out how to reduce the cost of modern software development, increase the quality of deliveries, and thereby reduce the time to market. We will also teach you how to create your own custom plugins using Extension points. Finally, we will show you how to combine everything you learned over the course of the book into one real-world scenario.
Table of Contents (16 chapters)
Extending Jenkins
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Jenkins and Docker


Docker is an application that enables you to package an application along with all of its dependencies into a single unit (a Docker container) that can be version controlled and deployed in an easy and standardized way.

The Docker home page explains how Docker works and how to install and use it:

https://www.docker.com/what-docker.

Conceptually, Docker containers are similar to lightweight virtual machines, but they have some fundamental architectural differences that make them more lightweight and more efficient, as illustrated by the following Docker and virtual machine comparison diagrams.

The following figure shows a normal virtual machine:

The following figure shows a Docker container:

Docker containers can be published and managed with every change recorded. They are like highly efficient VMs managed under a version control system that provides functions similar to Git. They are also highly configurable and offer flexible and scalable deployment processes.

In addition...