Popularity
7.5
Growing
Activity
8.9
Growing
544
38
211

Description

Buildkite is a CI and build automation tool that combines the power of your own build infrastructure with the convenience of a managed, centralized web UI. The open source agent is installable on any machine or network and provides a simple, repeatable process for running builds using the same tools you use for development and production.

Buildkite’s centralized web service handles job distribution, agent monitoring, integration with GitHub and Slack, and provides everyone on your team with an elegant interface for monitoring builds, tailing logs and downloading artifacts.

Programming language: Go
License: MIT License
Latest version: v3.28.0

Buildkite alternatives and similar packages

Based on the "Continuous Integration" category.
Alternatively, view Buildkite alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Buildkite or a related project?

Add another 'Continuous Integration' Package

README

Buildkite Agent Build status

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> [options...]

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.

Dependencies

The agent is fairly portable and should run out of the box on most supported platforms without extras. On Linux hosts it requires dbus.

Installing

The agents page on Buildkite has personalised instructions, or you can refer to the Buildkite docs. Both cover installing the agent with Ubuntu (via apt), Debian (via apt), macOS (via homebrew), Windows and Linux.

You can also run the agent via Docker.

Starting

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

Development

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"

Dependency management

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:

export GO111MODULE=on

Dependencies are no longer committed to the repository, so compiling on Go <= 1.10 is not supported.

Contributing

  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

Contributors

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](./LICENSE.txt) for details.


*Note that all licence references and agreements mentioned in the Buildkite README section above are relevant to that project's source code only.