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.
Buildkite alternatives and similar packages
Based on the "Continuous Integration" category.
Alternatively, view Buildkite alternatives based on common mentions on social networks and blogs.
-
CDS
Enterprise-Grade Continuous Delivery & DevOps Automation Open Source Platform -
goveralls
Go integration for Coveralls.io continuous code coverage tracking system. -
overalls
:jeans:Multi-Package go project coverprofile for tools like goveralls -
Template for GitHub Apps built with Golang
Template for building GitHub Apps in Go. -
gomason
A tool for testing, building, signing, and publishing binaries. -
go-test-coverage
go-test-coverage is tool and github action which reports issues when test coverage is below set threshold
Static code analysis for 29 languages.
Do you think we are missing an alternative of Buildkite or a related project?
README
Buildkite Agent
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.
Docker
We also support and publish Docker Images for the following operating systems. Docker images are tagged using the agent SemVer components followed by the operating system.
For example, agent version 3.30.0 is published as:
- 3-ubuntu-20.04, tracks minor and bugfix updates in version 3 installed in Ubuntu 20.04
- 3.30-ubuntu-20.04, tracks bugfix updates in version 3.30 installed in Ubuntu 20.04
- 3.30.0-ubuntu-20.04, tracks the exact version installed in Ubuntu 20.04
Supported operating systems
- Alpine 3.12
- Ubuntu 18.04 LTS (x86_64), supported to end of life for 18.04
- Ubuntu 20.04 LTS (x86_64), supported to end of life for 20.04
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
Telemetry
By default, the agent sends some information back to the Buildkite mothership on what features are in use on that agent. Nothing sensitive or identifying is sent back to Buildkite, but if you want, you can disable this feature reporting by adding the --no-feature-reporting
flag to your buildkite-agent start
call. A full list of the features that we track can be found here.
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 -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.18+ and Go Modules to manage our Go dependencies.
Dependencies are no longer committed to the repository, so compiling on Go <= 1.10 is not supported.
Go Version
The agent is compiled using Go 1.18. Previous go versions may work, but are not guaranteed to.
Platform Support
We provide support for security and bug fixes on the current major release only.
Our architecture and operating system support is primarily limited by what golang itself supports.
Architecture Support
We offer support for the following machine architectures (inspired by the Rust language platform support guidance).
Tier 1, guaranteed to work
- linux x86_64
- linux arm64
- windows x86_64
Tier 2, guaranteed to build
- linux x86
- windows x86
- darwin x86_64
- darwin arm64
Tier 3, community supported
We release binaries for various other platforms, and it should be possible to build it anywhere Go compiles, but official support is not provided for these Tier 3 platforms.
Operating System Support
We currently provide support for running the Buildkite Agent on the following operating systems. Future major releases may drop support for old operating systems. The agent binary is fairly portable and should run out of the box on most UNIX like systems.
- Ubuntu 18.04 and newer
- Debian 8 and newer
- Red Hat RHEL 7 and newer
- CentOS
- CentOS 7
- CentOS 8
- Amazon Linux 2
- macOS [1]
- 10.12
- 10.13
- 10.14
- 10.15
- 11
- Windows Server
- 2012
- 2016
- 2019
[1] See https://github.com/golang/go/issues/23011 for macOS / golang support and [Supported macOS Versions](./docs/macos.md) for the last supported version of the Buildkite Agent for versions of macOS prior to those listed above.
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
Contributors
Many thanks to our fine contributors! A full list can be found here, but you're all amazing, and we greatly appreciate your input ❤️
Copyright
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.