Job Retries

The retry attribute in an example command step

Immutable job history

Previously, if you retried a job, you lost the history of the job that was retried. With this update, the history remains and a new job is created 🎉

Retry history is now preserved 🙌🏻

You can also see when a job has been retried, and whether it was retried automatically or by a user. As always, the number of retries is available as an environment variable on the job.

See how and when your job was retried

Fine-grained control

To complement this improved visibility into retried jobs, you can specify conditions on retries 📋

Set steps to be retried automatically if they exit with particular exit codes, or prevent retries on important steps like deployments.

At Buildkite we’re using this internally to automatically retry any jobs that fail due to one of our AWS Elastic Stack hosts shutting down.

Example code showing different retry configurations

Check out the command step docs for all the details on adding retries to your pipeline.yml steps 📚


Why Buildkite?

Buildkite is the fastest, most secure way to test and deploy code at any scale.

Our self-hosted agents work in your environment with any source code tool, platform and language including but not limited to Ruby, Xcode, Go, Node, Python, Java, Haskell, .NET or pre-release tools.

See more features →

Two people launching a pod

Start Trial

Sign up for a free trial now
and connect your first agent.

Start Trial →