gitlab-runner CLI should allow registering an existing runner with a new GitLab project
Description
Currently, the only way (that I am aware of) to use the gitlab-runner CLI to add a runner to 2+ GitLab projects is to register two separate runners:
gitlab-runner register --non-interactive --url X --registration-token T1 …
gitlab-runner register --non-interactive --url X --registration-token T2 …
The problem with this is that these separate runners will have separate runner tokens and therefore will result in separate HTTP queries to the GitLab server when checking for jobs. This means that if I have 1 runner I want to register in N projects, I need N runners each registered to a single project instead, and therefore the traffic to the server increases N-fold.
In particular, I am running into this issue because I have 7 separate runners I want to register to 12 separate projects (and I want to be able to do automatically from the CLI), and my runners (running at 30-second check_interval) are getting throttled by gitlab.com to the point where my effective check_interval is around 5-10 minutes. Which sucks.
Proposal
The GitLab UI allows an unlocked runner to be associated with more than one project. I just want a way to accomplish the same from the gitlab-runner CLI. One way to do it would be:
gitlab-runner register --non-interactive --url X \
--registration-token T1 \
--registration-token T2 …
Links to related issues and merge requests / references
There are several issues out there regarding the problem of automating runner creation. They do not address this as far as I am aware. See #1932 (closed), #3921, #3717 (closed).