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

The POM file


The last remaining file, pom.xml, is the Maven settings file that we have looked at before. This one is particular to the plugin we are using here and contains the group, artifact, and version information that will be used to build, run, and package the project, which we will do now.

Right-clicking on the pom.xml file and selecting Run as and then Maven Build… allows you to specify the hpi:run goal again, which should start up a new local instance of Jenkins with this plugin compiled and deployed to this new instance, along with all of the resources and localization settings the plugin contains.

When the instance starts up, we can connect via a browser and see the various settings and code that we have reviewed in theory being used in practice.

We can check and see that the plugin is listed as installed, along with the message text, which is picked up from index.jelly:

When we create a new Freestyle job and take a look at the available Build steps that we could add, this plugin...