Releases: buildkite/agent
v2.0.3
- Debian package for ARM processors
- Include the build number in the
--version
call
v2.0
It's here! After 41 betas and almost a year of development, our new agents have finally hit stable. Thanks so much to everyone that contributed, filed issues, and was patient with us as we developed 2.0.
Buildkite Agent 2.0 can now easily scale across as many machines, instances or containers as you wish. You can also add hooks to override and extend the built-in behaviour and events. And new webhooks and REST API endpoints allow you to create any automation workflow you need.
You may be wondering "Why'd they skip 1.0?" - mainly because in retrospect - we should have put a 1.0 sooner - since so many people are already using the beta agents in production. They were perfectly stable - we just didn't want to ship them to the stable channels until we were ready. And since that took so long, we've decided to consider the betas 1.0 and go straight to 2.0.
What's new?
Here's a brief summary of what's been added to the agent. You can read more about them in the newly revamped Buildkite Agent docs: https://buildkite.com/docs/agent/upgrading-to-v2
- The binary name has changed from
buildbox
tobuildkite-agent
- The default install location has changed from
~/.buildbox
to~/.buildkite-agent
(although each installer may install in different locations) - Agents can be configured with a config file
- Agents register themselves with a organization-wide token, you no longer need to create them via the web
- Agents now have hooks support and there should be no reason to customise the bootstrap.sh file
- There is built-in support for containerizing builds with Docker and Docker Compose
- Windows support
- There are installer packages available for most systems
- Agents now have meta-data
- Build steps select agents using key/value patterns rather than explicit agent selection
- Automatic ssh fingerprint verification
- Ability to specify commands such as
rake
andmake
instead of a path to a script - Agent meta data can be imported from EC2 tags
- You can set a priority for the agent
- The agent now works better under flakey internet connections by retrying certain API calls
- A new command
buildkite-agent artifact shasum
that allows you to download the shasum of a previously uploaded artifact - Various bug fixes and performance enhancements
- Support for storing build pipelines in repositories
Deprecating the old agents
We'll be deprecating all agents prior to 2.0 on the 12th December, 2015. This is the date that we'll be turning off all the old Buildbox domains, and rejecting agent connections from these older agents.
Upgrading from 0.1 or 0.2
If you're upgrading from on of our older (and soon to be deprecated) agents, then head on over to https://buildkite.com/docs/agent/installation to learn more about installing the new agents. We've created packages for each of the major OS's so installing should be easy!
Upgrading from the 1.0-beta.x
Ubuntu / Debian
If you've installed the agent using the debian package, edit /etc/apt/sources.list.d/buildkite-agent.list
and change word unstable
(or experimental
if it's there) to stable
, then run sudo apt-get update && sudo apt-get upgrade
Red Hat / CentOS
If you've installed the agent using the rpm package, edit /etc/yum.repos.d/buildkite-agent.repo
and change word unstable
(or experimental
if it's there) stable
, then run sudo yum clean expire-cache && sudo yum update buildkite-agent
Other
If you didn't install the agent using the deb/rpm package, just update the agent like you normally would, and you should get the latest stable version!
v1.0-beta.41
- Fixed booting the agent on Windows
- Fixed problem when stopping the agent while running a build
- Added a new way for the agent to keep connected to the Buildkite Agent API
- Added a
--replace
option to thepipeline upload
command - Upload a
uuid
along with eachpipeline upload
call so that the Buildkite Agent API can keep the endpoint idompotent
v1.0-beta.40
(Lol, so many betas)
- Added the ability to disable the agent checking out git submodules
- Fixes to connection re-use
- Fresh installations of the agent will now run under the
buildkite-agent
user on *nix systems when using the OS package installers
v1.0-beta.39
- Log chunks are gzipped before uploading to save on bandwidth and time ⏳
- Added a
--debug-http
flag that shows all request and responses in the debug log. This command is very noisy, so use with caution! 🆒 - Dropped using Facebook's
httpcontrol
library. It wasn't buying us much and kept causing issues ♻️ - Tweaked HTTP debug logging to show outgoing requests and response overviews 📖
- Don't bother retrying meta data API calls if the request response is a 401 or a 404
- Allow the agent to dynamically change it's endpoint at runtime 😎
v1.0-beta.38
- Further tweaks to the retry behaviour of some calls, this time meta data set/get will retry on errors ♻️
- Added a new
buildkite-agent meta-data exists
call, so you can check to see if a key exists before grabbing it 🔍 - Adjusted the HTTP timeouts so requests don't hang forever 🔮
- The bootstrap script will only upload the git information associated with the build if it hasn't already (using the new swish
meta-data exists
API ⚡
v1.0-beta.37
- Artifact uploads will retry if they encounter a connection error ♻️
- Tweaked request retry behaviour for artifact batch uploads, agent connects & disconnects, and agent registration. Who needs to retry on a 401...honestly... 👞
- The artifact upload section in the build output will now automatically expand if uploading an artifact returns an error 👐
- Added a
buildkite-agent pipeline upload
command - that will allow you to dynamically change the pipeline of a build at runtime. More docs for this coming soon...but it's gonna be big 💥
v1.0-beta.36
- Fixed
too many open files
error 📁 📁 💥 - HTTP connections should be re-used correctly
- Improved connection pooling 💧
- Artifact uploads should retry if they fail
- Calls to the connect endpoint should be a little snapper 🐎
v1.0-beta.35
- Fixed memory leak 💧
v1.0-beta.34
Mostly bug fixes this release 🪲! I've also refactored some of the inner workings of the CLI flag validation gear 🔨
- Upload artifacts that are relative to the file system root
/
--job
has been renamed to--step
forartifact download
andartifact shasum
- Group timing information is now streamed to the BK API
- Starting/finishing a job now uses the new BK API endpoints