Self-signed certificate support for GitHub Enterprise

To help you get started with GitHub Enterprise installs that use self-signed certificates, we've added the ability to disable TLS certificate verification in your GitHub Enterprise Buildkite settings 🔓

Verify TLS Certificate checkbox — disable verification to allow self-signed certificates

You can find the new setting in your GitHub Enterprise settings, and read more details in our GitHub Enterprise documentation.

Samuel

Removal of the “All Organizations” scope for API Access Tokens

To improve API Access Token security we have removed the “All Organizations” scope from tokens. When managing your tokens you now explicitly select each organization 🔐

Screenshot of the New API Access Token form

If you had tokens with “All Organizations” scopes, they have been automatically migrated and include all of your current organization memberships. When you join a new Buildkite organization, and wish to grant a token access to its data, you must edit the token's settings and select the new organization.

You can manage your tokens on the API Access Tokens Settings page.

Lachlan

Time formatting now respects your language settings

We've updated the way times are displayed, and they now respect your browser’s preferred language settings 🌏

For example, if your browser’s preferred language is set to Bokmål or Deutsch, Buildkite will now show 14:17 instead of 2:17 PM ⏰

Screenshot showing new times

Jessica

Updated Environment Variables documentation

The Environment Variables documentation has had a major update 🤩

🌈A new layout ⚡️A new section for deprecated variables 🍩Many previously undocumented variables added 💥Expanded descriptions

Screen Shot 2019-04-05 at 2.08.19 pm.png

You can find the updated Environment Variables page under the Pipelines section of the documentation 🚀

Harriet

New Agent Tokens documentation

We’ve added a new Agent Tokens page to the documentation. It explains default organization tokens, creating and revoking tokens using GraphQL, session token exchange, and more 🕵🏻‍♀️

Screen Shot 2019-03-06 at 12.27.32 pm.png

You can find the new Agent Tokens page under the Agent section of the documentation 🎊

Harriet

Upgrades to Single Sign-On support

We've been rolling out some big upgrades to Buildkite’s Single Sign-On (SSO) support based on your feedback 📣

tomatoes-inc.png

The upgrades to Single Sign-On include:

  • Admins can now invite users into an SSO organization prior to them joining, along with team membership.
  • Team membership can now be passed through as a SAML user attribute.
  • Contractors and bots can be added to an organization using any email domain.
  • SSO can be made optional for some users, allowing you to have a "break glass" account in the case of your SSO provider being unavailable.
  • People can participate in multiple Buildkite organizations with SSO enabled, and easily switch between them.

If your organization hasn't already made the switch, we'll be automatically moving your Buildkite organization to the new version of SSO over the next few weeks. There will be no interruption to your logins, and it won't require any changes to your SSO provider setup.

If you have any questions please email support@buildkite.com, and you can read more about SSO updates in our community forum post 😊

Lachlan

Build messages are now optional

To make testing new pipelines easier, you no longer need to specify the "Message" of a build. Buildkite now automatically resolves the message, based on the git commit, when the build starts 🎉

Screenshot of the New Build dialog

We've also updated the Builds REST API and GraphQL API so your integrations can take advantage of this too.

Keith

SSO setup guides now available

We've added a new SSO section to the documentation, with instructions for setting up Single-Sign On with Google OAuth, Okta, OneLogin, and ADFS, and custom SAML providers ✨

sso.png

You can now also find step-by-step instructions for managing SSO with GraphQL, allowing you to enable, disable and update your SSO settings via the Buildkite GraphQL API :graphql:

Harriet

Agent Improvements in v3.6 - v3.8

Happy 2019! To kick off the year, we've got some new agent changes fresh off the press!

Better error messages for cancelled jobs 🚨

When a job is cancelled, the agent receives the instruction and starts to shutdown the running job. The job is given 10 seconds to finish, after which it's terminated. Previously what had happened wasn't clear. We now clearly show that a command was interrupted by a signal:

Configurable grace period for cancellation ⏱

By default we give cancelled jobs 10 seconds to finish before they terminate. For some things like a Terraform tear-down, this can take a lot longer. We added a config of cancel-grace-period to customize that value.

# Wait 600 seconds (10 minutes) for cancellation
buildkite-agent start --cancel-grace-period 600

Future improvements will allow this to be set at a pipeline or step level.

Checkout directory is removed on error 🧹

Checkouts can fail for a variety of reasons which can sometimes leave the git repository in a corrupted state that prevents future checkouts.

The default behaviour for the agent is now to remove the checkout directory if there is a terminal checkout failure.

Windows agents run hooks after cancel 🎣

Windows unfortunately doesn't handle signals like posix systems do, so on Windows the cancellation behaviour was to simple terminate the job. This meant that artifacts weren't uploaded and hooks like pre-exit didn't run, which left things like docker-compose without a way to cleanup.

We now use Windows Terminal Process Groups and the CTRL_BREAK message to emulate signal handling in windows, which now means it should behave much like it's fairer cousins!

Windows gets terminal colors! 🖍

Ok this is a small improvement, but it represents our ongoing efforts to take advantage of the neat things that the Windows Terminal team is doing building for Terminal apps.

Spawn Multiple Agents 🐙

Currently we recommend that multiple agents on a host are run via your init system (launchd, systemd, etc). The new --spawn feature allows for multiple parallel agents to be spawned from the one installation.

We're still figuring out how this might fit into the bigger picture, but keen to see how folks use this feature!

Datadog metrics (Beta) 🐶

We are working with the Datadog team on becoming an official integration. First steps are getting some simple job metrics into Datadog.

You can use the new config metrics-datadog and metrics-datadog-host.

Let us know what you think at https://forum.buildkite.community/t/about-our-datadog-integration/216

Vendored Plugins 📦

We now support loading plugins from within your repository. This lets you vendor plugins to ensure that a third-party can't change them.

steps:
  - label: 'Test with vendored docker plugin'
    plugins:
      - './.buildkite/plugins/docker':
          image: 'hello-world'

Check out https://github.com/buildkite/agent/pull/878 for a bit more context.

Resolve $BUILDKITE_COMMIT correctly at pipeline upload ⚙️

We now resolve manually triggered builds with a commit of HEAD to the actual commit value in $BUILDKITE_COMMIT for your pipeline uploads.

See https://github.com/buildkite/agent/issues/456 for more context. I'm sorry it took us so long!

Better handling of submodules 🧤

We discovered a few gnarly bugs where we weren't ssh keyscanning submodules correctly and also a few cases where we weren't cleaning up lingering submodules in the checkout phase. These are now squashed!

Lachlan

New 🚀 Sticker in the Buildkite Shop

Everyone's favourite illustration from the Buildkite website has been repackaged and deployed as a set of transparent stickers, ready for you to launch onto any surface you choose ✨

Rocket-Sticker-animation_MoarCotton.gif

RocketSticker_scene.jpg

You can order your own set of 🚀 stickers from the Buildkite Shop.

Ben

Link to jobs from annotations

You can now link directly to a job from a build annotation! 🔗

Animated 2018-12-13 at 13.44.40.gif

This should make the annotations generated by neat annotation generators like test-summary-buildkite-plugin and rspec-buildkite all the more handy.

Jessica

Elastic Stack for AWS v4.0.0

We've released a new major version of Elastic Stack for AWS.

The Buildkite Elastic CI Stack gives you a private, autoscaling Buildkite Agent cluster. Use it to parallelize legacy tests across hundreds of nodes, run tests and deployments for all your Linux-based services and apps, or run AWS ops tasks.

The new version is focused on moving the underlying instances to Amazon Linux 2, which brings with it modern versions of systemd amongst others.

Check out the full release notes at https://github.com/buildkite/elastic-ci-stack-for-aws/releases/tag/v4.0.0 and let us know what you think at https://forum.buildkite.community/t/upcoming-elastic-stack-v4/78.

Lachlan

New Screencast: Docker

There's a new screencast available at buildkite.com/screencasts/docker 🎉

The Docker screencast walks through a Docker workflow in Buildkite: building, testing, and deploying an image to production. The pipeline and code you'll see in the screencast are also available on GitHub: https://github.com/buildkite/screencast-examples/

docker-changelog.png

You can check out the Docker screencast, and all the others, at buildkite.com/screencasts

Harriet

Canceled builds now show who canceled

We've just shipped a small update to the build page to include the user who canceled the build 🙅‍♀️🙅‍♂️

sam-canceled-build.png

And if your build was canceled due to Build Skipping (e.g. if you’ve enabled "Cancel Intermediate Builds") we'll show that too:

automatically-canceled-build.png

Keith

Docker Plugin v2

Buildkite Docker Plugin v2.0.0 has been released, and includes:

  • Support for multi-line commands
  • A new command option for using single-binary/command line Docker images
  • Windows container support
steps:
  - command: 'dotnet publish -c Release -o published'
    plugins:
      - docker#v2.0.0:
          image: 'microsoft/dotnet:latest'
          always-pull: true

See all the details, and upgrade instructions, on the release notes: https://github.com/buildkite-plugins/docker-buildkite-plugin/releases/tag/v2.0.0

Lachlan

Buildkite Agent 2.2

We’ve just released Buildkite Agent v2.2 (Brangelina) 💑💔

So what's changed since Buildkite Agent 2.1.14?

Features

  • :golang: The buildkite-agent binary is now built with Golang 1.7 giving us support for macOS Sierra
  • 💨 The agent now talks HTTP2 making calls to the Agent API that little bit faster
  • 📦 The binary is a statically compiled (no longer requiring libc)
  • :amazon-ec2: meta-data-ec2 and meta-data-ec2-tags can now be configured using BUILDKITE_AGENT_META_DATA_EC2 and BUILDKITE_AGENT_META_DATA_EC2_TAGS environment variables

(Possible)? Breaking changes

We've removed our dependency of libc for greater compatibly across *nix systems which has had a few side effects:

  • We've had to remove support for changing the process title when an agent starts running a job since it required libc to work. This feature has only ever been available to users running 64-bit Ubuntu. We'd like to bring this feature back in the future in a way that doesn't have us relying on libc
  • The agent will now use Golangs internal DNS resolver instead of the one on your system. This probably won't effect you in any real way, unless you've setup some funky DNS settings for agent.buildkite.com

The release has been published to the Buildkite package repositories. For instructions on upgrading your agent please see the Upgrading section in the corresponding section of our installation documentation.

Keith

Improved organization invitation system

Today we’ve shipped some changes to simplify the Buildkite invitation system, including revamped invitation emails, automatic email address verification and a new screen for you to double check invitations before accepting them.

You can get the lowdown on our Building Buildkite blog post 🌟

Buildkite Email Invitation

Keith

Buildkite Agent 2.1.14

Update: We accidentally introduced a bug in this release. Please upgrade to the latest agent instead.

It's a cold winter's day here in Melbourne, but never too cold for new Buildkite Agent release: v2.1.14 (Frosty) ⛄️

What’s new since v2.1.13?

  • 🔍 SSH key scanning should be more resilient, whether or not you hash your known hosts file
  • 🏅 Commands executed by the Bootstrap script correctly preserve positional arguments and handle interpolation better
  • 🌈 ANSI color sequences are a little more resilient
  • ✨ Git clean and clone flags can now be supplied in the Agent configuration file or on the command line
  • 📢 Docker Compose will now be a little more verbose when the Agent is in Debug mode
  • 📑 $BUILDKITE_DOCKER_COMPOSE_FILE now accepts multiple files separated by a colon (:), like $PATH

The release has been published to the Buildkite package repositories. For instructions on upgrading your agent please see the Upgrading section in the corresponding section of our installation documentation.

For a full list of what's changed see the GitHub release page :octocat:

Samuel

Buildkite Agent Homebrew Updates

If you’ve installed the Buildkite Agent using Homebrew recently you might have noticed warnings about the use of SHA1:

$ brew install buildkite-agent
==> Installing buildkite-agent from buildkite/buildkite
==> Downloading .../buildkite-agent-darwin-386-2.1.13.tar.gz
Warning: SHA1 support is deprecated and will be removed in a future version.
Please switch this formula to SHA256.

Well, we’ve updated everything to use SHA256. Installing using Homebrew should now be slightly less eventful 🎉

We also noticed that installing the new Buildkite Agent 3.0 beta using homebrew’s --devel flag wasn't quite working, so we’ve fixed that too! 🍻

Samuel

Buildkite Agent 2.1.9

We’ve just released Buildkite Agent v2.1.9 (Purple Rain) ⚛️

What’s new since v2.1.8? Two bug fixes and lots of Docker Compose improvements:

  • 🌈 Build headers now work even if they're wrapped in ANSI color escape codes
  • 🐛 Step commands are now run with bash’s -o pipefail option, preventing silent failures where failed_command | cat would end up with a passing step
  • :docker: Docker Compose 1.7.x support, including docker network removal during cleanup
  • :docker: Docker Compose builds now specify --pull, so a new base image will always be pulled if one exists
  • :docker: The "Running command" section of Docker Compose job output is now expanded by default
  • :docker: Docker Compose will now only build the specified service’s image, not all images. If you want to build all images, set the environment variable BUILDKITE_DOCKER_COMPOSE_BUILD_ALL=true
  • :docker: No more BUILDKITE_DOCKER_COMPOSE_LEAVE_VOLUMES undefined errors in bootstrap.sh

This release coincides with the beta of :aws: Buildkite AWS Stack, a one-click auto-scaling build cluster in it's own AWS VPC capable of running any project with a docker-compose.yml. Please test it out and send us your questions and feedback.

The release has been published to the Buildkite package repositories. For instructions on upgrading your agent please see the Upgrading section in the corresponding section of our installation documentation.

For a full list of what's changed see the GitHub releases page :octocat:

Tim

Start turning complexity into an advantage

Create an account to get started for free.

Buildkite Pipelines

Platform

  1. Pipelines
  2. Public pipelines
  3. Test Engine
  4. Package Registries
  5. Mobile Delivery Cloud
  6. Pricing

Hosting options

  1. Self-hosted agents
  2. Mac hosted agents
  3. Linux hosted agents

Resources

  1. Docs
  2. Blog
  3. Changelog
  4. Example pipelines
  5. Plugins
  6. Webinars
  7. Case studies
  8. Events
  9. Migration Services
  10. Comparisons

Company

  1. About
  2. Careers
  3. Press
  4. Security
  5. Brand assets
  6. Contact

Solutions

  1. Replace Jenkins
  2. Workflows for AI/ML
  3. Testing at scale
  4. Monorepo mojo
  5. Bazel orchestration

Legal

  1. Terms of Service
  2. Acceptable Use Policy
  3. Privacy Policy
  4. Subprocessors
  5. Service Level Agreement

Support

  1. System status
  2. Forum
© Buildkite Pty Ltd 2025