Current best practice for autoscaling CI runner on AWS (EC2, ECS, ...)



we currently use the CI runner with the Docker+Machine executor on AWS EC2 with docker images from our own GitLab-backed registry. Docker Machine is now unmaintained for some years and I fear that AWS just might introduce breaking changes one day that result in it no longer be usable from one day to the next.

I also found the AWS ECS Fargate instructions, but the fargate executor also seems a bit unmaintained.

What is the current best practice for getting autoscaling CI runners on AWS with self-hosted docker images?


exact same Problem here. One alternative I am considering is establishing the docker-in-docker setup in ECS on EC2 Backend, which should work (see Issue mounting docker.sock in ECS · Issue #137 · jenkinsci/amazon-ecs-plugin · GitHub).

However, the fargate executor seems to be the most versatile and clean solution. But as you say, it seems a little bit unmaintained and i don’t get it up&running (using this as a template Serverless GitLab CI/CD on AWS Fargate | by Daniel Coutinho de Miranda | CI&T | Medium).