- Docker
- Docker Compose
for Mac users: if you happened to have previously installed Docker Toolbox, it will happily co-exist with Docker for Mac.
You're on a Mac (aren't you?). Install Docker for Mac. Note: Docker Compose also happens to come with Docker for Mac.
Do yourself a favor and spin up an Ubuntu 16.04 LTS Linux VM on Azure, AWS, or GCP. Then follow installation and pos-installation instructions:
To install Docker Compose, consult these instructions.
Your VM should have port 443 (HTTPS) ingress rule assigned.
Create a new SSH key as described here. Name your private key jenky_rsa
.
Run the following shell scripts
./bootstrap-local.sh
Visit http://localhost:8080
. (Or if you happen to be running Docker Toolbox, you're in a VM, so your IP address will be something like http://192.68.99.100:8080
).
Before executing the script you will need to edit hosts.env
and update all occurrences of replace_with_*
./bootstrap.sh
Visit the hostname (see $JENKINS_HOST
in hosts.env
) of the VM hosting your installation. (Only HTTPS ingress is allowed).
You will be prompted to enter a password that is to be retrieved from startup log.
To find it
docker exec jenkins-master /bin/bash
cat /var/jenkins_home/secrets/initialAdminPassword
Enter the value in the Administrator password
field and click Continue
.
Next, you will be prompted to install plugins.
You're advised to click Install suggested plugins
.
Next, you will be prompted to create an admin
account.
Click Save and Finish
.
Upon completion of account creation you can administer your Jenkins instance manually with Manage Jenkins
.
All updates are persisted to the jenky_data-volume
volume.
See Plugin Index. Add a plugin id for each plugin you wish to install to plugins.txt
. You should do this before executing bootstrap.sh
. If you wish to install plugins after the image has been built, just do so via Manage Jenkins > Manage Plugins
.
Based on the official Jenkins Docker image here.
Based on Alpine Linux distro here
Based on OpenJDK 8 and modeled closely after jenkinsci/docker-ssh-slave
To see volumes
docker volume ls
To prune volume
docker volume prune
You have to build and register your own slaves with master.
From Nicolas De Loof
You should not have to bake Jenkins specific images.
You can certainly use the Docker Slaves plugin but it has some known limitations.
It has experimental support for the Pipeline plugin.
As of 2017-01-24, still a proof-of-concept
Visit https://github.com/settings/tokens
with an authenticated GitHub account.
Click the Generate new token
button.
Enter a value in Token description
field. Click on repo
checkbox. Then click the Generate token
button.
You will be given a glance at the token. Copy it! Store it in a safe location. You'll need it for the next step.
Create new credentials
Enter the token value in the Password
field. The Username
field's value should be your GitHub account. All other field values are flexible.
Yes! This Docker Compose cluster also stands up instances of Concourse, Artifactory and SonarQube.
- Concourse
http://localhost:9090
- Artifactory
http://localhost:8081
- SonarQube
http://localhost:9000
See hosts.env
. Access to these instances will be whatever you configured for CONCOURSE_HOST
, ARTIFACTORY_HOST
and SONARQUBE_HOST
.
Re: DNSSEC. If you enable DNSSEC then be sure to verify that your domain registrar and all downstream NS providers support it! Otherwise LetsEncrypt will not properly vend certificates resulting in a dysfunctional Nginx proxy configuration. (E.g., Your domain registrar is Hover (no DNSSEC support) and you manage a sub-domain with DNSSEC enabled on a Cloud DNS zone on Google Cloud Platform).