- CloudBees Jenkins Team Master and Agent(s) run as Docker containers
- Agents can be spawned and destroyed dynamically
- All executors support Maven and Docker Pipeline
This demo requires that you have Docker and Maven installed.
Open a terminal at this repo location and run cp .sample.env .env
to create local file called .env
based on the sample. Then modify .env
to make it specific to your environment. You should only need to touch USER_M2
and the DockerHub API Key (from http://cloud.docker.com), all others may remain as-is.
Finally, run make
to let Docker do its thing.
NOTE: If any configuration files are modified, like jenkins.yaml
, plugins.txt
, or /init.groovy.d/*.groovy
, then run make
again to build new images.
To start CJT, run docker-compose up
. Logs will be streamed to the console, and CJT can be stopped with ^c
. Alternatively you can run CJT detached using docker-compose up -d
, access logs with docker logs cjt
, and stop using docker-compose down
.
You may then access CJT at http://localhost:9090 and complete the Getting Started wizard.
To start Agent(s), run make agent
. To stop all Agents, run make stop
. To build a new agent image after making changes, run make agent-build
.
To clean up images, run make clean
.
NOTE: Swarm Agents require a user with appropriate permissions to connect to CJT. The default is admin/admin and you can change it in your .env
if necessary.
Thanks to the Configuration as Code Plugin, demos are built in!
A Sample Rest Server project is configured out of the box, which uses Pipeline Shared Libraries as a form of templating.
Sample Rest Server requires a Sonar server to function properly. Run make sonar
to launch one then access it at http://localhost:9000 to see that it's running and view test results.
An ASP.Net Core App project is also configured out of the box. Note that this pipeline has an "approval" step that requires a human to approve.