a simple GoCD demo environment that completely provisions itself and adds build pipelines (as code), e.g. as a YAML config, via the REST API / an external tool (gomatic) / through an XML config file.
→ Blog: Self-contained GoCD Environment Using Docker-Compose
- gomatic - a server and an agent container as they are out of the box + a gomatic script to provision the server (needs fixing for the current GoCD version)
- static_config - 2 different agents, server provisioned via a static config file copie into the container
- provisioned_externally - 2 different agents, server provisioned externally via the API
the startup sequence:
- the GoCD server starts
- two different agents start
- agents wait to connect to the server
- the provisioner waits some, and adds the pipelines to the config
- the server picks up the config and starts the builds
in static_config, run:
docker-compose up -d
- see the console output of the containers
- In case you mount folders instead of copying them, note, on some platforms Docker fails to mount local folders. In this case, use node-docker-share!
- http://[go-server-ip]:8153
docker-compose stop
or destroy via:
docker-compose down --remove-orphans