Buildkite
Buildkite is a continuous integration and delivery platform that enablers users to run fast, secure, and scalable pipelines on their own infrastructure.
Integrating Buildkite with Cortex allows you to:
Pull in metrics about your builds and pipelines
Create Scorecards that track progress and drive alignment on projects involving your Buildkite pipelines
How to configure Buildkite with Cortex
Prerequisites
Before getting started:
Create a Buildkite API access token with read-only permissions for pipelines and builds.
You must be a member of a Buildkite organization to generate and use an access token for it.
Configure the integration in Cortex
In Cortex, navigate to the Buildkite settings page.
Click Integrations from the main nav. Search for and select Buildkite.
Configure the Buildkite integration form:
API token: Enter your Buildkite API token.
Organizational slug: Enter the slug for your Buildkite organization.
This can be found in your organization's Buildkite settings, or at the end of your Buildkite URL after navigating to Pipelines.
Click Save.
How to connect Cortex entities to Buildkite
Discovery
By default, Cortex will use the Cortex tag (e.g. my-entity) for your Buildkite pipeline. For example, if your Cortex tag is my-pipeline, then the corresponding pipeline tag in Buildkite should also be my-pipeline.
Cortex will also use the the GitHub, GitLab, Bitbucket, or Azure DevOps repository to connect entities to Buildkite pipelines. For example, if the GitHub repo associated with your Buildkite pipeline is my-org/repo, then entities in Cortex that also live in my-org/repo will populate with details from that pipeline.
Editing the entity descriptor
You can add Buildkite pipelines to an entity by defining the pipeline slug or tags with one of the following blocks in the entity descriptor:
slug
Slug for the Buildkite pipeline
✓
tag
Tag for the Buildkite pipeline
✓
The slug for your pipeline can be found in the Buildkite URL for a given pipeline (e.g., https://buildkite.com//).
Using the Buildkite integration
Entity pages
Once the Buildkite integration is established, Cortex will automatically pull in pipeline data to an entity's page. You can access this data from the CI/CD page in the entity's side panel.
You can find a list of pipeline runs for each pipeline linked to a given entity on this page:
Pipeline slug/tag
Action (e.g. "scheduled build")
Timestamp
Branch
State
The state for a build will appear as a tag next to the pipeline slug/tag (e.g. canceled, passed, or failed).
Scorecards and CQL
With the Buildkite integration, you can create Scorecard rules and write CQL queries based on Buildkite pipelines.
See more examples in the CQL Explorer in Cortex.
Check if Buildkite pipeline(s) are set
Check if entity has registered Buildkite pipelines in its entity descriptor.
Definition: buildkite (==/!=) null
Example
For a Scorecard focused on production readiness, you can pull in data from Buildkite to make sure that entities belong to a CI/CD pipeline.
Get Buildkite build(s)
Gets pipelines and builds that meet given filter criteria.
Build criteria:
Branch
Commit
Created at
ID
Message
Number
Pipeline
State
Pipeline criteria:
Description
Git repository
ID
Name
Slug
Tags
States include CANCELED, PASSED, and FAILED.
Definition: buildkite.builds()
Example
If you're building a Scorecard with an emphasis on operational maturity, you could set a rule to make sure not only that entities belong to a pipeline, but that the pipeline is functioning as expected.
Get Buildkite pipelines
Get all Buildkite pipelines associated with the entity: Description, Git repository, ID, Name, Slug, Tags.
Definition: buildkite.pipelines()
Example
A production readiness Scorecard can use this expression in a rule confirming that there are pipelines linked to a specific repository:
View integration logs
This feature is available to Cortex cloud customers.
On the integration settings page, click the Logs tab to view logs from the last 7 days. Learn more in Troubleshooting with integration logs.
Still need help?
The following options are available to get assistance from the Cortex Customer Engineering team:
Email: [email protected], or open a support ticket in the in app Resource Center
Slack: Users with a connected Slack channel will have a workflow added to their account. From here, you can either @CortexTechnicalSupport or add a
:ticket:reaction to a question in Slack, and the team will respond directly.
Don’t have a Slack channel? Talk with your Customer Success Manager.
Last updated
Was this helpful?