NAV Navbar
Switch version:

GoCD elastic agent images

GoCD elastic agents run inside Docker containers on an ECS cluster. You can either use the Docker images provided by the GoCD team or build your own images with the right software already provisioned on it.

Using your own docker image with elastic agents

The plugin executes the equivalent of the following docker command to start the agent:

$ docker run -e GO_EA_SERVER_URL=...
           -e GO_EA_AUTO_REGISTER_KEY=...

Your docker image is expected to contain a bootstrap script (to be executed via docker’s CMD) that will create an file using these variables. The GO_EA_SERVER_URL will point to the server url that the agent must communicate with.

Here is an example shell script to do this —

# write out
$ (
  ) > /var/lib/go-agent/config/

Here is an example powershell script to do this -

# write out
$properties = @("$env:GO_EA_AUTO_REGISTER_KEY",

$properties | Out-File "c:\gocd-agent\config\" -Encoding "default" -append

Note: GoCD agent supports only Little-endian encoding. Please make sure that generated file has valid encoding.

Refer to the bootstrap script template here to understand what is necessary for the image to be a GoCD agent docker image. To look for the bootstrap script for a particular container image of your choice, check one of the docker agent image repositories here.