Customized Jenkins LTS with baked-in CLI tools, ~150 plugins, and prefetched Maven artifacts
135
Customized Jenkins LTS image with baked-in build tooling, cloud/CLI utilities, and a large curated plugin set for CI/CD out of the box.
This image extends the official jenkins/jenkins:2.541.2-lts base and pre-installs a broad set of command-line tools, language runtimes, and Jenkins plugins so a controller comes up ready for pipeline, Maven, container, AWS, and infrastructure-automation workloads. It also pre-fetches Maven artifacts at build time (useful for restricted/offline environments) and ships a small helper CLI for downloading additional artifacts from Maven Central.
docker pull n8500x/jenkins
docker run -d \
--name jenkins \
-p 8080:8080 \
-p 50000:50000 \
-v jenkins_home:/var/jenkins_home \
n8500x/jenkins
8080 — Jenkins web UI50000 — inbound agent (JNLP) portjenkins_home — named volume persisting Jenkins configuration, jobs, and pluginsBase: jenkins/jenkins:2.541.2-lts
Added CLI tools & runtimes (installed on top of the base via apt / official installers):
maven, make, g++, groovy, zip, rsync, gettext, groff, man-db, librdkafka-devcurl, wget, openssl, netcat-openbsd, telnet, sshpasspython3, python3-pip with pykwalify, jsonschema, PyYAML, confluent-kafka (installed globally and for the jenkins user)ansible, yq, jq, figletpodman, docker-compose, plus Docker CE (docker-ce, docker-ce-cli, containerd.io) from the official Docker apt repoPre-installed plugins: roughly 150 plugins from plugins.txt, including Blue Ocean suite, the full Pipeline/Workflow stack (workflow-aggregator, pipeline-model-definition, pipeline-maven, pipeline-utility-steps), Git/GitHub integration (git, github-branch-source, github-pullrequest, github-oauth), authorization (active-directory, ldap, matrix-auth, role-strategy), HashiCorp Vault (hashicorp-vault-plugin, hashicorp-vault-pipeline), Nexus (nexus-artifact-uploader, nexus-jenkins-plugin), reporting (junit, jacoco, allure-jenkins-plugin, htmlpublisher), prometheus/metrics, thinBackup, audit-trail, mask-passwords, and AWS/S3 support (s3, pipeline-aws).
Maven artifact prefetch: at build time the image runs maven-download-cli against maven-artifacts.txt, downloading listed groupId:artifactId:version coordinates (jar + pom) into /artifacts/downloads. The bundled list pre-fetches org.codehaus.plexus:plexus-archiver:4.1.0.
Environment variables (build-time ARG/ENV):
| Variable | Default | Purpose |
|---|---|---|
TZ | Asia/Dubai | Container timezone (ARG TZ, applied to /etc/localtime and /etc/timezone) |
DEBIAN_FRONTEND | noninteractive | Silences apt prompts during build |
Ports: 8080 (web UI), 50000 (inbound agents).
Volume: /var/jenkins_home — mount a volume here to persist Jenkins state.
Included helper: /usr/local/bin/maven-download-cli — download Maven artifacts at runtime. Supports:
maven-download-cli download <group:artifact:version> [...]
maven-download-cli download-file <group:artifact:version> <classifier> [...]
maven-download-cli list-from-file <file>
Honors MAVEN_REPO (default https://repo1.maven.org/maven2) and MAVEN_ARTIFACTS_DIR (default: current directory).
docker build -t n8500x/jenkins .
Override the timezone at build time if needed:
docker build --build-arg TZ=UTC -t n8500x/jenkins .
jenkins user. The Dockerfile switches to root to install packages and drops back to jenkins at the end.Asia/Dubai; tzdata configuration is isolated in its own layer so tzdata errors don't break the rest of the build. Override via --build-arg TZ=....jenkins-plugin-cli from plugins.txt, so the controller does not need to reach the Jenkins update center on first start — useful for offline/restricted environments.maven-artifacts.txt exists and is non-empty; otherwise it is skipped. Download failures for individual artifacts are tolerated and do not fail the build.confluent-kafka is installed both globally and under the jenkins user, and package availability is verified during the build.Content type
Image
Digest
sha256:c17817fa3…
Size
1.1 GB
Last updated
18 days ago
docker pull n8500x/jenkins