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

Chapter 1. Preparatory Steps

In this first chapter, we will start off by looking at Jenkins from several different perspectives; how to obtain and run it, some of the ways and the reasons people use it, and what it provides to them. In doing so, we will take a look at some standard use cases and examine how a Jenkins installation will often evolve over a period of time—typically starting off with only the basic installation and core features, then progressively becoming more customized and advanced with different types of extensions. We will start off with "ready-made" plugins, and then progress towards extending these before looking at how to develop your own plugins.

We will then summarize the high-level aims of this book, and give the details of what you should hopefully gain from them.

We will provide an overview of the various tools and the environment setup that you will need in order to run the practical examples covered in the subsequent chapters, and we will review the best practices of Continuous Integration (CI) by identifying some of the ways that Jenkins can be used to achieve them.

Throughout this book, it is assumed that you already have some working knowledge of Jenkins, so we will not spend much time covering the basics, such as installing and starting Jenkins, or detailing the usage of standard features and core functions.

If you would like more details on these topics, there are numerous helpful tutorials and examples available online; the Use Jenkins section of the Jenkins homepage, https://jenkins-ci.org, is often a good starting point for help with general setup and usage questions.