Visualize your CI/CD pipeline on a canvas


Have you ever found yourself tangled in the complexities of a failed build, struggling to pinpoint the exact issue? Or perhaps you've just needed a bird's-eye view of your build to understand the dependencies? At Buildkite, we've heard teams struggle with these day-to-day issues, so we're excited to introduce our latest feature: the build canvas.

The build canvas provides a new way to visualize pipeline builds, including dependencies and running order. Learn more from the team that built the canvas:

Key features:

  • View your pipeline as a directed acyclic graph (DAG).
  • Follow along the steps of a running build.
  • Jump to failed steps.
  • Decode dependencies between steps.

My team runs and supports Buildkite for the whole organization. The build canvas is great because it lets me visualize another team's pipeline very quickly when debugging an issue. This saves me time, as previously, I had to unpick the logic manually by inspecting their generated pipeline.yaml. For teams that have multiple levels of pipeline abstractions, this is a game changer.

Andy Tang, Staff Platform Engineer, SEEK

Quickly grok pipeline steps

Whether you look at pipelines all the time or only when something’s gone wrong, the build canvas gives you a new way to quickly understand what’s happening—even for unfamiliar pipelines. It reveals the high-level logic behind the pipeline so you can more easily reason about the goals for the pipeline and each step. Dependencies between steps are presented as a directed acyclic graph (DAG), showing running order and parallelization.

You can hide conditional steps to simplify the view or reveal them to understand which steps won't run in a build. Additionally, you can follow a build to spotlight the steps currently running and expand to full-screen mode for more detailed exploration. Select Follow mode or press j to start following a running build. We recommend you grab a hot drink, enter follow mode, and enable the music for a peaceful break. 💆

Making pipeline definitions more accessible to engineers reduces the knowledge gap between engineers on platform and product teams. This will help improve collaboration and make engineers on product teams more likely to unblock themselves and ask more informed questions when problems arise.

Visualize step dependencies

The canvas has made it easier for us, as the Platform team to easily see dependency pathways for steps in a build. This lets us see at a glance how the pipeline has performed and where things go wrong, easily letting us debug with our engineers.

Eathan Langford, Developer Experience, MYOB

Dependencies between steps become more difficult to manage as pipelines become more complicated. For example, there are different types of dependencies, parallelism, and dynamically generated steps to contend with. Before the canvas, you needed to reason from a bulleted list. Even on the build canvas, you'll likely see lines between steps overlapping in large builds.

To solve this, the upstream and downstream dependencies are highlighted when you select a step on the canvas. Highlighting a path through the build lets you focus on the parts you care about, even when the number of steps gets large. 

Jump to failures when troubleshooting builds

The canvas provides an effective entry point for troubleshooting build issues. You can jump to any failed step in a build to focus on problem areas quickly by selecting Go to failure or pressing f. Hovering over a step provides additional context, including the command executed. From the hover state, you can access full logs and job information to see all the details.

Try the build canvas today

The build canvas provides a new way to visualize your pipelines, understand running order and dependencies, and troubleshoot issues. It’s available on all your builds under the Canvas tab:

The canvas tab is highlighted on a build page.

We’re just getting started with the build canvas. Future updates will include even more navigation features and filtering options. Try it out and help shape the next iteration by sharing feedback.