Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

GoCD Infrastructure as Code

Build Status

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

the versions

  • 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

summary of the provisioned version

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

up and running

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!

access the instance

  • http://[go-server-ip]:8153


docker-compose stop

or destroy via:

docker-compose down --remove-orphans


No releases published


No packages published