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:
Amazon Linux 2023
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.
Multi-Platform Docker Image Support
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!
Known Issues
- The docker-compose-buildkite-plugin may need to be run with the configuration option
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. - The ID of the
docker
group is now determined when the docker package is installed. Previously it was hard-coded to be1001
, but now it is993
, but that may change in later releases. If you rely on the gid being hardcoded to1001
in your builds, they may have permission errors. We recommend you something like the bash syntaxgetent group docker | awk -F: '{print $3}'
to detect what the ID of thedocker
group is instead.
v6.0.0-beta1 (2023-06-28)
Changed
- Upgrade base image to Amazon Linux 2023 #1122 (@triarius)
- Publish template to both
main
andmaster
#1129 (@triarius) - Increase job cancel grace period to 60s #1144 (@triarius)
- Allow the
MaxSize
to be 0 #1140 (@triarius) - Default EC2 instance names to stack name #1137 (@triarius)
- Rename the parameter
InstanceType
toInstanceTypes
#1138 (@triarius) - Rename the parameter
ManagedPolicyARN
toManagedPolicyARNs
#1138 (@triarius) - Rename the parameter
SecurityGroupId
toSecurityGroupIds
#1128 (@triarius) - Rename the parameter
EnableGitMirrorsExperiment
toBuildkiteAgentEnableGitMirrors
#1123 (@triarius) - Enable the
ansi-timestamps
setting if and only ifBuildkiteAgentTimestampLines
parameter is"false"
#1132 (@triarius)
Added
- Support running and building multi-platform docker images #1139 #1122 (@triarius)
- Support i4g instance types #1138 (@triarius)
- The parameter
SpotAllocationStrategy
#1130 (@triarius)
Fixed
Removed
- Remove deprecated
SpotPrice
parameter #1130 (@triarius) - These packages are either not available on Amazon Linux 2023, or not installed by default on the base image we use. We have decided to not make them available as suitable replacements are available.
- Python 2
- OpenSSL v1.0
- AWS CLI v1
- Docker-Compose v1
- Cronie
Upgrading
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):