We have self-hosted GitLab instance + a few k8s-based runners. Obviously once in a while we need to upgrade both the instance and all runners. So far our approach was to clone the production intance, carry ou the instance upgrade and that was all. But of course it is not enough as we need to add to this test scenario also Runners upgrade (actually it could be a fresh Runners installation as it doesn’t involve much effort).
But the cloned instance references the old URL in its configuration files so once we register the new runners we are affraid either the instace or the runners will connect to the old instance.
So the steps would be:
- clone existing production instance (PI) to test instance (TI)
- upgrade TI
- install and register a new Runner with the TI (R-TI)
- run pipeline on TI
I am afraid at one of those steps the TI or the R-TI Runners might try to connect to the PI.
Any more clever way to test the upgrade scenario ?