An auto-scaling cluster of build agents running in your own AWS VPC
⚠️ Buildkite Agent v3.51.0 has a known issue with the buildkite-agent step export
command. This is fixed in v3.52.0.
mdadm
is not installed, leading to broken instance storage when there is more than one volumes #1190 (@triarius)Perform a CloudFormation stack update with the following URL:
https://s3.amazonaws.com/buildkite-aws-stack/v6.3.0/aws-stack.yml
If you want to launch a new stack, you can use this link (make sure not to use your production AWS account, create a new one for CI):
Perform a CloudFormation stack update with the following URL:
https://s3.amazonaws.com/buildkite-aws-stack/v5.22.3/aws-stack.yml
If you want to launch a new stack, you can use this link (make sure not to use your production AWS account, create a new one for CI):
set -e
fails from environment hooks #1179 (@triarius)Perform a CloudFormation stack update with the following URL:
https://s3.amazonaws.com/buildkite-aws-stack/v6.2.0/aws-stack.yml
If you want to launch a new stack, you can use this link (make sure not to use your production AWS account, create a new one for CI):
ScalerMinPollInterval
param #1173 (@amartani)Perform a CloudFormation stack update with the following URL:
https://s3.amazonaws.com/buildkite-aws-stack/v6.1.0/aws-stack.yml
If you want to launch a new stack, you can use this link (make sure not to use your production AWS account, create a new one for CI):
main
and master
#1129 (@triarius)MaxSize
to be 0 #1140 (@triarius)InstanceType
to InstanceTypes
#1138 (@triarius)ManagedPolicyARN
to ManagedPolicyARNs
#1138 (@triarius)SecurityGroupId
to SecurityGroupIds
#1128 (@triarius)EnableAgentGitMirrorsExperiment
to BuildkiteAgentEnableGitMirrors
#1123 (@triarius)ansi-timestamps
setting if and only if BuildkiteAgentTimestampLines
parameter is "false"
#1132 (@triarius)SpotAllocationStrategy
#1130 (@triarius)ScalerEventScheduleRate
to control the rate at which buildkite-agent-scaler is invoked #1169 (@tomellis91)BUILDKITE_AGENT_ENABLE_GIT_MIRRORS
not being set in startup script #1135 (@triarius)SpotPrice
parameter #1130 (@triarius)docker-compose
executable will prepend the --compatibility
flag to docker-compose v2 #1148 (@triarius)docker-compose
command, the --compatibilty
flag will be prepended for you. This will be the case with the docker-compose-buildkite-plugin unless you specify cli-version: 2
in your plugin config.17
or 18
when previously they would have exited with code 1
. Please adjust your retry rules accordingly.docker
group is now a system group. Previously, its group ID was hard-coded to be 1001
, but now it could take some value from 999
descending. If you relied on the GID being hard-coded to 1001
in your builds, they may have permission errors. We recommend you use something like the bash expression getent group docker | awk -F: '{print $3}'
to detect what the ID of the docker group is instead.Perform a CloudFormation stack update with the following URL:
https://s3.amazonaws.com/buildkite-aws-stack/v6.0.0/aws-stack.yml
If you want to launch a new stack, you can use this link (make sure not to use your production AWS account, create a new one for CI):
This version of the Elastic CI Stack contains a version of the agent with known issues with uploading pipelines. Please use v6.2.0 or v5.22.3 instead.
allow_dependency_failure: true
on stack cleanup jobs #1159 (@triarius)Perform a CloudFormation stack update with the following URL:
https://s3.amazonaws.com/buildkite-aws-stack/v5.22.2/aws-stack.yml
If you want to launch a new stack, you can use this link (make sure not to use your production AWS account, create a new one for CI):
This version of the Elastic CI Stack contains a version of the agent with known issues with uploading pipelines. Please use v6.2.0 or v5.22.3 instead.
Perform a CloudFormation stack update with the following URL:
https://s3.amazonaws.com/buildkite-aws-stack/v5.22.1/aws-stack.yml
If you want to launch a new stack, you can use this link (make sure not to use your production AWS account, create a new one for CI):
This version of the Elastic CI Stack contains a version of the agent with known issues with uploading pipelines. Please use v6.2.0 or v5.22.3 instead.
Perform a CloudFormation stack update with the following URL:
https://s3.amazonaws.com/buildkite-aws-stack/v5.22.0/aws-stack.yml
If you want to launch a new stack, you can use this link (make sure not to use your production AWS account, create a new one for CI):
We've been dogfooding v6.0.0-beta1 for some time and are ready to make another beta release.
connection aborted
and IO ERROR
when trying to write files to the container's file system. This happens reasonably infrequently, and we recommend detecting build errors from docker and retrying, either inside your build scripts or by retrying the command step. If you are using docker compose to build images, or the docker-compose-buildkite-plugin, the exit status to retry on will be 17
in most cases.docker-compose
command, the --compatibilty
flag will be prepended for you. We still recommend you use the cli-version: 2
syntax in your Buildkite docker-compose plugin blocks, which is the equivalent of invoking docker compose with the docker compose
command.docker
group is now determined when the docker package is installed. Previously it was hard-coded to be 1001
, but now it is 993
, but that may change in later releases. If you rely on the GID being hard-coded to 1001
in your builds, they may have permission errors. We recommend you use something like the bash syntax getent group docker | awk -F: '{print $3}'
to detect what the ID of the docker
group is instead.--compatibility
flag to docker-compose #1148 (@triarius)subuid
and subgid
files no longer have multiple ranges #1149 (@triarius)Perform a CloudFormation stack update with the following URL:
https://s3.amazonaws.com/buildkite-aws-stack/v6.0.0-beta2/aws-stack.yml
If you want to launch a new stack, you can use this link (make sure not to use your production AWS account, create a new one for CI):
We are excited to announce the release of v6.0.0-beta1 of the Elastic CI Stack for AWS. We have been using this internally in our pipelines for some time, and we are ready for the next phase of releasing it to customers.
Two highlights of this release are:
We have upgraded the Base AMI for Linux EC2 instances to Amazon Linux 2023. This upgrade brings numerous improvements and updates to the underlying operating system. You can find more details on the changes made by Amazon in their official documentation here. Many packages have been added, upgraded, or removed since Amazon Linux 2, making Amazon Linux 2023 a more robust and up-to-date choice for your CI/CD runners.
This update was made in response to valuable feedback from our customers. Specifically, we received requests for Amazon Linux 2023 because Amazon Linux 2 did not support Node 18+, and our customers wanted to leverage the latest version of Node.js in their CI/CD workflows.
We have added support for running and building multi-platform docker images on Linux. This feature allows you to build and run docker images on different architectures, such as arm64 images on x86_64 machines and vice versa. We have been using this to create multi-platform images for the Buildkite Agent, so we are excited to release it to our customers too.
We appreciate your input and strive to continuously improve our platform based on your needs. Thank you for your support, and we hope these updates enhance your CI/CD experience on AWS EC2.
Please refer to the full changelog for more details on all the changes and fixes included in this release. If you have any questions or need assistance, please don't hesitate to reach out to our support team. Happy deploying!
cli-version: 2
in some situations. We're likely to make this the default in a future version of the plugin, but for now we recommend you set this in your pipeline definitions.docker
group is now determined when the docker package is installed. Previously it was hard-coded to be 1001
, but now it is 993
, but that may change in later releases. If you rely on the GID being hard-coded to 1001
in your builds, they may have permission errors. We recommend you use something like the bash syntax getent group docker | awk -F: '{print $3}'
to detect what the ID of the docker
group is instead.main
and master
#1129 (@triarius)MaxSize
to be 0 #1140 (@triarius)InstanceType
to InstanceTypes
#1138 (@triarius)ManagedPolicyARN
to ManagedPolicyARNs
#1138 (@triarius)SecurityGroupId
to SecurityGroupIds
#1128 (@triarius)EnableAgentGitMirrorsExperiment
to BuildkiteAgentEnableGitMirrors
#1123 (@triarius)ansi-timestamps
setting if and only if BuildkiteAgentTimestampLines
parameter is "false"
#1132 (@triarius)SpotAllocationStrategy
#1130 (@triarius)BUILDKITE_AGENT_ENABLE_GIT_MIRRORS
not being set in startup script #1135 (@triarius)SpotPrice
parameter #1130 (@triarius)Perform a CloudFormation stack update with the following URL:
https://s3.amazonaws.com/buildkite-aws-stack/v6.0.0-beta1/aws-stack.yml
If you want to launch a new stack, you can use this link (make sure not to use your production AWS account, create a new one for CI):