Note: This is the development branch of the buildkite-agent, and may not contain files or code in the current stable release.
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 buildkite.com 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.com/docs/agent
$ buildkite-agent --help Usage: buildkite-agent <command> [arguments...] Available commands are: start Starts a Buildkite agent annotate Annotate the build page within the Buildkite UI with text from within a Buildkite job 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 step Make changes to a step (this includes any jobs that were created from the step) bootstrap Run a Buildkite job locally help 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
These instructions assume you are running a recent macOS, but could easily be adapted to Linux and Windows.
# Make sure you have go 1.11+ installed. brew install go # Download the code somewhere, no GOPATH required git clone https://github.com/buildkite/agent.git cd agent # Create a temporary builds directory mkdir /tmp/buildkite-builds # Build an agent binary and start the agent go build -i -o /usr/local/bin/buildkite-agent . buildkite-agent start --debug --build-path=/tmp/buildkite-builds --token "abc" # Or, run the agent directly and skip the build step go run *.go start --debug --build-path=/tmp/buildkite-builds --token "abc"
We're using Go 1.14+ and Go Modules to manage our Go dependencies.
If you are using Go 1.11+ and have the agent in your
GOPATH, you will need to enable modules via the environment variable:
Dependencies are no longer committed to the repository, so compiling on Go <= 1.10 is not supported.
git checkout -b my-new-feature)
git commit -am 'Add some feature')
git push origin my-new-feature)
Many thanks to our fine contributors! @adill, @airhorns, @alexjurkiewicz, @bendrucker, @bradfeehan, @byroot, @cab, @caiofbpa, @colinrymer, @cysp, @daveoflynn, @daveoxley, @daveslutzkin, @davidk-zenefits, @DazWorrall, @dch, @deoxxa, @dgoodlad, @donpinkster, @essen, @grosskur, @jgavris, @joelmoss, @jules2689, @julianwa, @kouky, @marius92mc, @mirdhyn, @mousavian, @nikyoudale, @pda, @rprieto, @samritchie, @silarsis, @skevy, @stefanmb, @tekacs, @theojulienne, @tommeier, @underscorediscovery, and @wolfeidau.
Copyright (c) 2014-2019 Buildkite Pty Ltd. See LICENSE for details.