I am running gitlab and gitlab-runners to update projects on linux hosts and they all update the same project. However the gitlab-ci.yml
configuration is lacking at best for what I need.
For example I have around 500 hosts that will run a script when the project gets pushed to re-configure the machines per the script from contents in the project. Note: this is the same project on every host.
To get this to work I have to modify a tag like host1
and host2
per host and then create a huge file with 500 hosts.
The gitlab-ci.yml
is as follows for the working method:
stages:
- build
host1_build:
stage: build
tags:
- host1
script:
- sudo bash /project/update.sh
host2_build:
stage: build
tags:
- host2
script:
- sudo bash /project/update.sh
I would like to be able to have one tag like update
on each host and a single build
in the gitlab-ci.yml
file; however when configured like this it only runs on a single host.
update_build:
stage: build
tags:
- update
script:
- sudo bash /project/update.sh
I have done some other things with no success except the first working option shown which is time-consuming to manage and hoped someone knew of some other option here to update the same project on many hosts at once.