One push to rule them all!

One push to run same jobs on multiple machines

We have a scalable stack with multiple VMs and need to deploy the artifacts into each and every VM. We could just terminate all the VMs and have them be reconstituted from the new artifacts. But the VM is running Windows and its too slow to come online. So, we currently deploy to our own Lambda function which then triggers each of the VMs to pull the changed artifacts down.

We would like to eliminate the Lambda function by installing a gitlab runner in each VM and have EVERY runner run the same set of jobs EVERY time a push occurs. We have created multiple Runners, but only one gets executed each time. It looks to be using each one in rotation.

The stack is scalable - the VMs change - so specifying duplicate jobs in the gitlab-ci file does not seem practical.

Is there another solution?