Public | Automated Build

Last pushed: 3 days ago
Short Description
A Jenkins image customized for our build automation
Full Description


A customized jenkins container based on the official jenkins images with tools added as required.


This image is designed to be extended add configured for a particular customer. Ideally a number of
groovy scripts will be created and added to the image to configure the build as required. An example
Dockerfile for such an image is.

FROM stocksoftware/jenkins

COPY custom.groovy /usr/share/jenkins/ref/init.groovy.d/custom.groovy

The custom image should then be run using a command such as the following. Note: the jenkins_data
volume should have already been setup and it contains all the persistent data, and port 50000 is
only needed if jnlp build agents will connect back to the main jenkins server.

docker run -v /var/run/docker.sock:/var/run/docker.sock -v jenkins_data:/var/jenkins_home -p 8080:8080 -p 50000:50000 mys_custom_jenkins

How-to generate plugin list

The plugin list is periodically regenerated as new plugins are upgraded. The easiest way to do this
is to manually install the plugins, trial the functionality and when satisfied they meet the quality
criteria to upgrade the base image then copy the json from plugins web interface at
/pluginManager/api/json?pretty=true&tree=plugins[shortName,version] and then using ruby transform the
json to the plugin list. Typically you open up irb and type the following:

h = # paste content here

puts h[:plugins].collect {|v| "#{v[:shortName]}:#{v[:version]}"}.sort.join("\n")

Then replace the content in plugins.txt with the new list.

Docker Pull Command
Source Repository