agent 0 ruby

The Buildkite Agent is an open-source toolkit written in Golang for securely running build jobs on any device or network

Buildkite Agent Build status

Note: This is the 3.0 development branch of the buildkite-agent, and may not contain files or code in the current stable release. To see code or submit PRs for stable agent versions, please use the corresponding maintenance branch: 2.6.x.

The buildkite-agent is a small, reliable, and cross-platform build runner that makes it easy to run automated builds on your own infrastructure. It’s main responsibilities are polling for work, running build jobs, reporting back the status code and output log of the job, and uploading the job's artifacts.

Full documentation is available at

$ buildkite-agent --help

  buildkite-agent <command> [arguments...]

Available commands are:

  start     Starts a Buildkite agent
  artifact  Upload/download artifacts from Buildkite jobs
  meta-data Get/set data from Buildkite jobs
  pipeline  Make changes to the pipeline of the currently running build
  bootstrap Run a Buildkite job locally
  help, h   Shows a list of commands or help for one command

Use "buildkite-agent <command> --help" for more information about a command.


The agents page on Buildkite has personalised instructions for installing the agent with Ubuntu (via apt), Debian (via apt), macOS (via homebrew), Windows and Linux. You can also run the agent via Docker.


To start an agent all you need is your agent token, which you can find on your Agents page within Buildkite.

$ buildkite-agent start --token


With Docker

$ docker-compose run agent bash
[email protected]:/go/src/ go run *.go start --token xxx --debug

Without Docker

# Make sure you have go installed.
brew install go

# Setup your GOPATH
export GOPATH="$HOME/Code/go"
export PATH="$HOME/Code/go/bin:$PATH"

# Checkout the code
go get
cd "$GOPATH/src/"

To test the commands locally:

go run main.go start --debug --token "abc123"

Dependency management

We're using govendor to manage our Go depenencies. Install it with:

go get

If you introduce a new package, just add the import to your source file and run:

govendor fetch +missing

Or explicitly fetch it with a version using:

govendor fetch[email protected]

Check out the govendor repo and dev guide for more docs.


  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request


Copyright (c) 2014-2016 Keith Pitt, Buildkite Pty Ltd. See LICENSE for details.

Related Repositories



Amazon EC2 Container Service Agent ...



Datadog Agent Dockerfile for Trusted Builds. ...



Rackspace Cloud Monitoring Agent ...



Chef Cookbook for td-agent (Treasure Agent or Fluentd) ...



Agent to enable remote management of your Amazon EC2 instance configuration. ...

Top Contributors

keithpitt toolmantim sj26 kouky tommeier grosskur wolfeidau davidk-zenefits byroot caiofbpa tekacs daveoflynn daveslutzkin joostdevries samritchie underscorediscovery alexjurkiewicz skevy bradfeehan colinrymer cab dgoodlad daveoxley donpinkster glenngillen joelmoss julianwa silarsis essen mirdhyn


-   v3.0-beta.12 zip tar
-   v3.0-beta.11 zip tar
-   v3.0-beta.10 zip tar
-   v3.0-beta.9 zip tar
-   v3.0-beta.8 zip tar
-   v3.0-beta.7 zip tar
-   v3.0-beta.6 zip tar
-   v3.0-beta.5 zip tar
-   v3.0-beta.3 zip tar
-   v3.0-beta.2 zip tar
-   v3.0-beta.1 zip tar
-   v2.2 zip tar
-   v2.2-beta.4 zip tar
-   v2.2-beta.3 zip tar
-   v2.2-beta.2 zip tar
-   v2.2-beta.1 zip tar
-   v2.1.17 zip tar
-   v2.1.16 zip tar
-   v2.1.15 zip tar
-   v2.1.14 zip tar
-   v2.1.13 zip tar
-   v2.1.12 zip tar
-   v2.1.11 zip tar
-   v2.1.10 zip tar
-   v2.1.9 zip tar
-   v2.1.8 zip tar
-   v2.1.7 zip tar
-   v2.1.6.1 zip tar
-   v2.1.6 zip tar
-   v2.1.5 zip tar