Jenkins Docker image with Docker, Docker Machine, Docker Compose based on jenkins:alpine.
With:
- Custom admin login/password
- A seed job using the Job DSL plugin
- HipChat notifications
- SSH key to clone git repositories
> cat docker-compose.yml
version: '2'
services:
jks:
container_name: jenkins
image: krkr/jks
env_file:
- ./jks.env
ports:
- 8080:8080
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
- ./var_jenkins:/var/jenkins
> cat jks.env
# Admin credentials
ADMIN_USERNAME=nimda
ADMIN_PASSWORD=adm!n
# HipChat notifications
HIPCHAT_TOKEN=1234567890azertyuiop0987654321
# Public SSH key to clone git repositories
SEED_CREDS_ID=ssh_creds_id
docker-compose up -d
> cat jobs/c0a1-dm-ls.groovy
job('c0a1-dm-ls') {
steps {
shell('docker run c0/a1 docker-machine ls')
}
}
> cat Dockerfile
FROM krkr/jks-jobs
> docker build -t jks/jobs .