Quickly toggle UTC times on Buildkite

Establishing a shared timeline when troubleshooting or digging into recent builds can be a challenge, especially for distributed teams. To help make this a little easier, we’ve added the ability to toggle between local time and UTC by clicking on a timestamp ⏱

timestamp-toggle-small.gif

As an added bonus, UTC times include the full date and are shown in 24-hour time regardless of your browser’s default locale settings ✨

Jessica

Webhooks can be auto-created for GitHub repositories

We've updated our GitHub app, adding the option to automatically create webhooks for new pipelines 🔀

Screen Shot 2020-11-23 at 9.57.23 am.png

The Buildkite GitHub App now additionally requests the webhook read & write permission for Repositories. We'll only use this permission to create new webhooks when you explicitly check the 'Auto-create webhooks' box during pipeline setup 🔏

Eleanor

Share git checkouts with the git-mirrors Agent experiment

Teams with large repositories, we'd love for you to try out the git-mirrors experiment flag, available on all agents v3.10.0 and above. This enables you to have a single git clone per host, to help speed up git operations and reduce network and disk usage 👯

git-mirrors.png

You can get started using git mirrors by setting the git-clone-mirror-flags experimental agent config option.

Let us know about any questions or issues on the Shared Git Checkouts topic in the Buildkite Community Forum 📝

Harriet

Introducing the YAML Steps editor ✨

After 2 years in beta, we are thrilled to promote the YAML Steps editor to our recommended way of managing your pipelines 🎉

yaml-pipeline-with-sidebar.png

After migrating your pipeline to YAML Steps, you can find the new sidebar by clicking "Edit Steps" in your Pipeline Settings ✏️

You can now choose to make the YAML steps editor the default for any new pipelines created in your organization, and we’ve added a migration tool to help org admins get their pipelines switched over.

We'll be announcing deprecation plans for the web steps editor in the coming months, so keep an eye out for the deprecation notice 👋🏻

Harriet

Additional permissions controls for Enterprise

Enterprise organization admins can now choose to make pipelines read-only, as well as managing the ability to create, edit, or delete at an organization level 🔐

image.png

If you’re on the Enterprise plan, you can access these new settings from your Organization's Permissions page. For more information about upgrading your team to Enterprise, get in touch through support@buildkite.com 📨

Harriet

Phabricator integration docs

We've released a step-by-step guide to setting up automated builds from your Phabricator commits ✨

buildkite-phabricator.png

You can find the Phabricator guide under Integrations in the docs 📚

Harriet

New Help menu

We've added a new Help menu to Buildkite that combines documentation search, suggested docs for the current page, and a link to support 👋

Check it out now in the top nav of any Buildkite page 🎉

help-menu-preview-128.gif

Fred

New plugins directory and documentation

To make it easier to find and create Buildkite plugins, we've launched the Buildkite Plugins Directory and updated the plugins documentation 🔨

plugins.gif

plugin-tutorial.png

Check out the new plugins documentation, or browse the plugins directory at buildkite.com/plugins.

Tim

Search in Buildkite Documentation

We’ve rolled out search to the Buildkite documentation site, so it’s easier than ever to find an answer to your questions 🕵🏻‍♀️📚

docs-search.png

You can find the search bar at the top of every page of documentation, so it’s always ready to go! 🎉

Jessica

Amazon EventBridge Partner Integration

Stream your data from Buildkite to Amazon EventBridge with our new first-class integration 👩🏻‍🔬

You can route 12 different agent, build, and job events to EventBridge to track custom build metrics, monitor developer wait time, run AWS infrastructure operations based on build events, and create faster autoscaling rules.

buildkite-amazon-eventbridge-settings.png

You can find Buildkite in the EventBridge partner event sources. Check out our EventBridge integration documentation for detailed setup instructions 📚

Harriet

New pipeline attribute: notify 🌟

Send notifications to email addresses, Basecamp Campfires, or Slack Channels with the new notify pipeline YAML attribute 💎

Add as many notifications as you need for different teams or individuals alongside your pipeline steps in the notify YAML block:

1
2
3
4
5
6
7
8
steps:
  - command: test.sh
  - wait
  - command: build.sh

notify:
  - email: "coolthings@internet.com"
  - slack: "fish-space#general"

For more information about adding notify to your pipeline.yml file, check out the new Notifications guide 💡

Eleanor

Introducing pipeline step dependencies

We've added support for defining step dependencies in your pipeline configuration, allowing you to minimize the wait times in your builds ⏭

To define a dependency between two steps, you can use the new properties key and depends_on:

1
2
3
4
5
6
7
8
9
10
11
steps:
  - command: "build.sh"
    key: "build"
  - command: "tests.sh"
    key: "tests"
  - command: "upload-coverage.sh"
    depends_on: "tests"
  - command: "deploy.sh"
    depends_on:
      - "build"
      - "tests"

We've also made sure that you can easily transition an existing pipeline to use step dependencies: starting with a sequential pipeline that uses wait steps, you can gradually add depends_on as you need.

For more information about how dependencies work, and how to add them to your pipeline, see the new Managing Step Dependencies guide ✨

Matthew

Archiving build logs to private S3 buckets

There is a new feature available on our Enterprise plan: you can now choose to archive build logs to your own private S3 bucket, instead of storing them at rest with Buildkite 📦🔐

Screenshot of a build log and the S3 log in Buildkite

To enable private build log archiving for your organization, or to inquire about upgrading your team to Enterprise, email support@buildkite.com ✉️

Harriet

Access build annotations via the REST API

We’ve added the annotations endpoint to our REST API for retrieving a build’s annotations 🗃

The data is presented as rendered HTML (the same HTML we use within the app) within a JSON body, alongside everything else you might want to know about the annotation.

annotations-api-output.png

You can read more about this addition in the Annotations API documentation 📖

Jessica

Deploying with Buildkite

There’s a whole new section in the docs: ✨Deployments

Here you'll find common patterns for deployments with code samples and walkthroughs, as well as how to add manual approval steps, and working with external deployment systems.

deployment-overview.png

Also new in the deployments section is our guide to Deploying with Kubernetes: a complete walk-through of setting up your Buildkite pipeline to deploy to your Kubernetes cluster :kubernetes:

Check it all out in the new Deployments section 📚

Harriet

New Artifactory support and documentation

We've added new documentation on Buildkite Agent's new Artifactory support for uploading build artifacts to JFrog's Artifactory 🎉

There is now first-class support for uploading your artifacts directly to your Artifactory instance.

artifactory settings.png

artifactory upload.png

To learn more about Artifactory and our technology partnership, head to the JFrog Partner website. To learn more about Buildkite's built-in Artifactory support, see our new Artifactory guide 👀

Harriet

Conditional expressions for pipeline steps

We've added a new if property that uses a boolean expression to decide whether a step will be run or skipped 💫

You could previously use the branches property to limit the running of a step based on which branch you were building, but this new option allows more complex conditions 😎

1
2
3
4
steps:
  - label: '💨 Smoke Test'
    command: smoke-test.sh
    if: "build.branch == 'master' || build.message =~ /\\[smoke\\]/i"

The if property is available on all step types; check out the Using Conditionals documentation for details!

Matthew

Audit old and unused API tokens with API Access Audit

We've added a new API Access Audit section in your Organization Settings, so you can identify old and unused tokens, and revoke their access to your organization’s data 🕵️

Searching for tokens using the new API Access Audit page

As well as sorting by usage or age, and searching by scope, you can search for the a full token value — allowing you to inspect and revoke a token you've access to.

You can read all about it in the new Managing API Access documentation, and if you’re an organization admin you can find the new API Access Audit section in your Organization Settings.

Eleanor

Buildkite socks now available in the Shop 🧦

The swag you've all been waiting for is finally available in the shop: Buildkite socks 🧦

Our socks are pure cotton and are available in Small, Medium, and Large. Get your hands (or paws🐾) on a pair here: https://shop.buildkite.com/products/socks

Harriet

Configure and manage your single sign-on providers

We've added a new Single Sign-On section to your Buildkite organization settings, allowing you to setup, test, activate and manage your SSO configuration:

Add SSO Provider Buildkite organization settings screenshot

See the SSO documentation for all the details, and how to get started.

Eleanor

Start turning complexity into an advantage

Create an account to get started with a 30-day free trial. No credit card required.

Buildkite Pipelines

Platform

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

Hosting options

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

Resources

  1. Docs
  2. Blog
  3. Changelog
  4. Webinars
  5. Plugins
  6. Case studies
  7. Events

Company

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

Solutions

  1. Replace Jenkins
  2. Workflows for AI/ML
  3. Testing at Scale

Support

  1. System status
  2. Forum