You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
2.3 KiB
YAML
61 lines
2.3 KiB
YAML
# vim:ts=2:sts=2:sw=2:et
|
|
#
|
|
# Author: Hari Sekhon
|
|
# Date: 2020-03-28 01:49:38 +0000 (Sat, 28 Mar 2020)
|
|
#
|
|
# https://github.com/harisekhon/bash-tools
|
|
#
|
|
# License: see accompanying Hari Sekhon LICENSE file
|
|
#
|
|
# If you're using my code you're welcome to connect with me on LinkedIn and optionally send me feedback to help improve or steer this or other code I publish
|
|
#
|
|
# https://www.linkedin.com/in/harisekhon
|
|
#
|
|
|
|
# https://github.com/jenkinsci/docker/blob/master/README.md
|
|
|
|
version: '3'
|
|
|
|
services:
|
|
jenkins-server:
|
|
hostname: jenkins-server
|
|
# official repo abandoned - too old for plugins to load - unusable
|
|
#image: jenkins:2.60.3
|
|
# community version
|
|
#image: jenkins/jenkins:${VERSION:-2.228}
|
|
image: jenkins/jenkins:${VERSION:-lts}
|
|
# jenkinsci/jenkins is deprecated in favour of jenkins/jenkins but jenkins org doesn't have blueocean
|
|
# this is based off Alpine - Jenkinsfile is for Debian/Ubuntu systems like standard Jenkins, just use stock image with plugin
|
|
#image: jenkinsci/blueocean:${VERSION:-1.22.0}
|
|
ports:
|
|
- ${JENKINS_PORT:-8080}:8080
|
|
- 50000:50000
|
|
# doesn't auto-install, done explicitly by jenkins.sh now
|
|
#volumes:
|
|
# - ./setup/jenkins-plugins.txt:/usr/share/jenkins/ref/plugins.txt
|
|
user: root:root
|
|
# gets 403 without -Djenkins.install.runSetupWizard=false
|
|
healthcheck:
|
|
#test: ["CMD", "curl", "-f", "http://localhost:8080/login"]
|
|
# export DOCKER_HEALTHCHECK=/bin/true in development to bypass healthcheck
|
|
test: "${DOCKER_HEALTHCHECK:-curl http://localhost:8080/login}"
|
|
interval: 30s
|
|
start_period: 30s # version 3.4+
|
|
timeout: 10s
|
|
retries: 5
|
|
restart: unless-stopped
|
|
environment:
|
|
# skips creating admin user or prompting to install plugins
|
|
#JAVA_OPTS: -Dhudson.footerURL=https://github.com/harisekhon -Djenkins.install.runSetupWizard=false
|
|
JAVA_OPTS: -Dhudson.footerURL=https://github.com/harisekhon
|
|
# jenkins-agent:
|
|
# hostname: jenkins-agent
|
|
# # doesn't have an lts tag at the moment
|
|
# image: jenkins/inbound-agent:latest
|
|
# restart: unless-stopped
|
|
# environment:
|
|
# JENKINS_AGENT_NAME: agent1
|
|
# JENKINS_URL: http://jenkins-server:8080
|
|
# # need to get this from the web UI, then uncomment and set in environment - it's not visible in the Rest API :'-(
|
|
# JENKINS_SECRET: ${JENKINS_SECRET:-none}
|