Hello,
I have been away from the Jenkins community for about 4 years now. Everything moved on, so I'm a bit lost at the moment. For the past 2 hours, I have tried to find the right set of plugins & configuration to become the following setup:
* I host a Jenkins master on a fixed machine on AWS, within a VPC and behind an ALB.
* I want to use Jenkins BlueOcean with Jenkinsfile pipeline dsl
* I want to run builds in Docker containers, based on the Docker image config from the `agent` section of my Jenkinsfile
* I want these Docker containers to be spread on an autoscaled EC2 instance group or in an ECS cluster. When no builds run, I want no slave VMs to be active. Spot pricing is not directly needed given AWS VMs are now billed by the second.
What I found so far regarding the master:
* Install a master
* add blueocean plugin
* add pipeline plugin & dependencies.
What I did not find regarding the autoscaling of slaves:
*
https://plugins.jenkins.io/amazon-ecs: this plugin can be backed by an autoscaling group, but the docker templates must be configured upfront. As far as I can read, it doesn't pick up the info from the Jenkinsfile.
*
https://plugins.jenkins.io/amazon-ecs: does this plugin support autoscaling? If a Docker based build is needed, will it dispatch it to such an EC2 machine running the jenkins-slave software & Docker? Can I control the number of concurrent Docker runs on such a machine?
Looking forward to your experiences and remarks.
Any additional info or tools on how to set this up scripted (read: Terraform/Chef) is also welcome.
Ringo