Buildkite workflow

Use this guide to configure Buildkite build and deploy steps to manage releases in Aviator. To use Aviator Releases, we recommend having separate steps for the build and deploy workflows. You may still use it as a single step, in which case the creation of Release (the build part) will be a no-op.

Authentication

Buildkite doesn’t have a concept of Apps or bot accounts. Because of this, we need to take an access token for a user.

Step 1: Go to “Personal Settings” from the top-right corner

Step 2: Click “API Access Tokens”

Step 3: Click “New API Access Token”

Name the token and pick your organization

Choose “Read Builds”, “Write Builds”, and “Read Pipelines”.

Click “Create New API Access Token”

Step 4: Copy the created access token, and go to https://app.aviator.co/settings/workspace/integrations, paste the created access token to the Buildkite integration.

2. Setup Buildkite Webhook

Go to your Buildkite organization’s settings from the top bar.

Go to “Notification Services”

Add “Webhook”

Name this webhook and put https://app.aviator.co/api/buildkite/webhook to the webhook URL.

Choose “build.schedules”, “build.running”, “build.failing”, and “build.finished”.

Click “Add Webhook Notification”.

Build workflow

Option A - Using Two-step workflow

Connecting with Aviator

On Buildkite pipeline page, copy the pipeline’s URL

Go to the release project config for the build pipeline configuration. Choose Buildkite and paste the organization and pipeline names as shown in the copied URL.

Click “SAVE”.

Using Environment variables

Aviator sends the following parameters to Buildkite as environment variables when triggering the workflow:

AVIATOR_RELEASE_CUT_ID - Aviator’s internal database ID associated with the Release.

AVIATOR_RELEASE_CANDIDATE_VERSION - A unique version string tied to the Release Candidate. This can be used to tag the built artifacts.

AVIATOR_RELEASE_CUT_COMMIT_HASH - commit SHA associated with the release candidate version. You should checkout this commit SHA in the build pipeline to trigger the workflow.

Option B - Skipping build step

If you want to skip the Build step entirely, select “Not Configured” in the Build step:

In this configuration mode, as soon as a Release is cut, the build is marked as completed. Then you can set up deployment as a separate step.

Deploy workflow

Connecting with Aviator

Similar to the Build step, copy the Organization Slug and Pipeline slug in the Deploy environment configuration:

Using Environment variables

Aviator sends the following parameters to Buildkite as environment variables when triggering the workflow:

AVIATOR_DEPLOYMENT_ID - Aviator’s internal database ID associated with the Deployment.

AVIATOR_RELEASE_CANDIDATE_VERSION - A unique version string tied to the Release Candidate. This can be used to tag the built artifacts.

AVIATOR_RELEASE_CUT_COMMIT_HASH - commit SHA associated with the release candidate version. You should checkout this commit SHA in the build pipeline to trigger the workflow.

Now you should be ready to use Aviator Release Management!

Last updated