Base image for your Jenkins service with preconfigured features and plugins
3.2K
This repository contains automation scripts to build jenkins from scratch with plugins and pre-initialized configuration data. It has been strongly inspired by the public Docker image (but not used as reference) and enhanced.
Why?
We introduced several new features, like:
Usually, you won't do that, directly, because you want to build your own jenkins with the list of features you need. But if you want to see a basic version of jenkins, you can do the following:
docker run -it --rm -p 8080:8080 forjdevops/jenkins
A docker image is versionned through his tag version and then pushed. Then on your Dockerfile, you refer to one version.
Ex:
FROM forjdevops/jenkins:2.x-latest
We deliver several different jenkins version and maintain some of them. For docker image tagging, we follow those rules:
Some version of jenkins (3 versions) gets a tag prefixed by
the project release ie <ReleaseVersion>_<JenkinsVersion>.
Ex: 0.2_1.658, 0.2_1.642, 0.2_2.50
A branch of version. We maintain 3 different branches: 1.6x-latest, 1.6x-stable and 2.x.
Latest version of a branch gets named as <ReleaseVersion>_<BranchVersion>-latest.
Ex: 0.2_2.x-latest
<ReleaseVersion>_latest will refer to the latest version for a dedicated version of this project.
Ex: 0.2_latest
latest_<jenkins_version|latest> will refer to the HEAD of the jenkins-ci repository. It will be updated any time a PR on jenkins-ci is merged.
latest is the default tag for docker. We use it to refer to the latest version of jenkins, as found in http://pkg.jenkins.io/redhat/
Ex: latest refer to the latest version of jenkins and version of this project ie is identical to latest_latest
To get a list of published and available versions, connect to Docker Registry
This project maintains a collection of tags, ie a limited collection of version of jenkins. To get the list of maintained version, read releases.lst
This is the most common use case as this image is a base image for your own Jenkins instance.
3 steps:
# Download and install jplugins
wget -o jplugins https://github.com/forj-oss/jplugins/releases/download/0.0.6/jplugins
chmod +x jplugins
# Get jenkins pre-installed plugins list
docker run --rm forjdevops/jenkins cat /usr/share/jenkins/ref/jplugins-preinstalled.lst > jplugins-preinstalled.lst
ex:
echo "feature:pipeline
feature:basic-security
plugin:blue-ocean" > jplugins.lst
./jplugins init
To get list of available feature, browse https://github.com/forj-oss/jenkins-install-inits
FROM forjdevops/jenkins
USER root
COPY jplugins.lock $JENKINS_DATA_REF
ARG JENKINS_INSTALL_INITS_URL=https://github.com/forj-oss/jenkins-install-inits
RUN git clone $JENKINS_INSTALL_INITS_URL /tmp/jenkins-install-inits && \
/usr/local/bin/jplugins install --jenkins-home $JENKINS_DATA_REF --lock-file $JENKINS_DATA_REF/jplugins.lock --features-repo-path=/tmp/jenkins-install-inits
USER jenkins
Then build it.
For possible features, see https://github.com/forj-oss/jenkins-install-inits
FORJ Team
Content type
Image
Digest
Size
227.4 MB
Last updated
almost 7 years ago
docker pull forjdevops/jenkins