Skip to content
GoLang agent for GoCD
Branch: master
Clone or download

GoLang agent for GoCD

Join the chat at

GOCD agent golang implementation. Comparing to java implementation, golang agent has less installation dependency, less memory footprint and shorter boostrap time. More suitable for running in container.

Golang agent is based on "BuildCommand API" proposed here. It's still working in progress. If you want to try out the golang agent, please build GoCD server from the latest master branch.

Features not supported yet

  • SCM materials other than git
  • Java task plugins
  • Java scm plugins such as Github-PR


On Ubuntu:

# Add Bintray's GPG key:
sudo apt-key adv --keyserver hkp:// --recv-keys 379CE192D401AB61 
# Add repo
sudo echo deb master main | sudo tee -a /etc/apt/sources.list
sudo apt-get update
# Install the package  (add '-y --force-yes' after 'install' if automating)
sudo apt-get install gocd-golang-agent

Configure Agent

Agent is designed to be configured by environment variables. The followings are available options:

  • GOCD_SERVER_URL: Go server url, default to https://localhost:8154/go.
  • GOCD_AGENT_WORKING_DIR: Agent working directory, default to Agent script launch directory. All build data will be inside this directory.
  • GOCD_AGENT_CONFIG_DIR: Agent configurations for connecting to Go server, default to be "config" directory inside GOCD_AGENT_WORKING_DIR directory
  • GOCD_AGENT_LOG_DIR: Agent log directory, without this configuration, log will be output to stdout.
  • DEBUG: set this environment variable to any value will turn on debug log.


Check out source

Building the agent binary

  • go run src/


Pre-build binary can be found here :


Bug reports and pull requests are welcome on GitHub at

Document for Developer

You can’t perform that action at this time.