🌐
GitLab
docs.gitlab.com › runner › register
Registering runners | GitLab Docs
For runners on GitLab.com, the GitLab instance URL is https://gitlab.com. Enter the runner authentication token. Enter a description for the runner. Enter the job tags, separated by commas. Enter an optional maintenance note for the runner. Enter the type of executor.
🌐
GitLab
docs.gitlab.com › runner › commands
GitLab Runner commands | GitLab Docs
You are asked multiple questions during a runner’s registration. This question can be pre-filled by adding arguments when invoking the registration command: gitlab-runner register --name my-runner --url "http://gitlab.example.com" --token my-authentication-token
🌐
GitLab
docs.gitlab.com › runner
GitLab Runner | GitLab Docs
sequenceDiagram participant GitLab participant GitLabRunner participant Executor opt registration GitLabRunner ->>+ GitLab: POST /api/v4/runners with registration_token GitLab -->>- GitLabRunner: Registered with runner_token end loop job requesting and handling GitLabRunner ->>+ GitLab: POST /api/v4/jobs/request with runner_token GitLab -->>+ GitLabRunner: job payload with job_token GitLabRunner ->>+ Executor: Job payload Executor ->>+ GitLab: clone sources with job_token Executor ->>+ GitLab: download artifacts with job_token Executor -->>- GitLabRunner: return job output and status GitLabRunner -->>- GitLab: updating job output and status with job_token end
🌐
GitLab
docs.gitlab.com › api › runners
Runners API | GitLab Docs
Use this API to manage existing runners. Pagination is available on the following API endpoints (they return 20 items by default): GET /runners GET /runners/all GET /runners/:id/jobs GET /projects/:id/runners GET /groups/:id/runners · To connect a runner with GitLab, you need two tokens.
🌐
GitLab
docs.gitlab.com › user › get_started › get_started_runner
Get started with GitLab Runner | GitLab Docs
For more information, see install GitLab Runner. Register your runners to establish authenticated communication between your GitLab instance and the machine where GitLab Runner is installed. Registration connects individual runners to your GitLab instance using authentication tokens.
🌐
GitLab
docs.gitlab.com › tutorials › automate_runner_creation
Tutorial: Automate runner creation and registration | GitLab Docs
In the Select scopes section, select the create_runner checkbox. Select Create project access token. A runner configuration is where you configure runners to your requirements. After you create a runner configuration, you receive a runner authentication to register the runner.
🌐
Readthedocs
codechecker.readthedocs.io › en › latest › gitlab_integration
1. Install/register GitLab Runner - CodeChecker
sudo gitlab-runner register \ --non-interactive \ --url "https://mycompany.gitlab.com" \ --registration-token "<REGISTRATION_TOKEN_FROM_GITLAB>" \ --description "codechecker" \ --executor "shell"
🌐
GitLab
docs.gitlab.com › ci › runners › new_creation_workflow
Migrating to the new runner registration workflow | GitLab Docs
Create a runner directly in the GitLab UI or programmatically. Receive a runner authentication token. Use the runner authentication token instead of the registration token when you register a runner with this configuration.
🌐
GitLab
docs.gitlab.com › tutorials › create_register_first_runner
Tutorial: Create, register, and run your own project runner | GitLab Docs
July 5, 2023 - In the large text box, paste this ... there are two jobs that the runner runs: a build job and a test job. Select Commit changes. Next, create a project runner and register it....
Find elsewhere
🌐
GitLab
forum.gitlab.com › how to use gitlab
GitLab Runner registration workflow - How to Use GitLab - GitLab Forum
March 20, 2023 - GitLab Runner need for each one own IP/Hardware? One thing with GitLab Runner I do not understand. Can I register one dedicated Runner (Hardware) to different Projects? As sample I have following Gitlab Runners gitlab-runner-1 gitlab-runner-2 gitlab-runner-shared-1 gitlab-runner-shared-2 gitlab-runner-1 is bound to project 1 with project token gitlab-runner-2 is bound to project 2 with project token Each runner is shown inside the project and on the left side the shared runners.
🌐
Awsworkshop
gitlab.awsworkshop.io › 050_lab_2 › 52_runner.html
Install and register Runner :: MP DevOps Series
You will be prompt to enter registration token, copy it from the Runner settings. Paste it in the console. Enter Description for the runner: type GitLab workshop.
🌐
Medium
medium.com › marionete › registering-gitlab-runners-programmatically-with-an-authentication-token-a-tutorial-eaa8aa6cbc0d
Registering Gitlab Runners programmatically with an Authentication Token: A Tutorial | by joaogmartins | Marionete | Medium
April 2, 2024 - To create the PAT programmatically ... sha1 but you can also use others. After having the string that will make up the token, one must register it to gitlab with create_runner permissions....
🌐
EDUCBA
educba.com › home › software development › software development tutorials › git tutorial › gitlab runner register
Gitlab runner register | Learn the Overviews of Gitlab runner register
April 15, 2023 - Gitlab runner register is defined as a process that enables binding of runners with one or more than one instance. The runner is defined as an application that facilitates the running of jobs in a pipeline.
Address   Unit no. 202, Jay Antariksh Bldg, Makwana Road, Marol, Andheri (East),, 400059, Mumbai
Top answer
1 of 3
15

There isn't an easy way to do what you want, from what I can find in the GitLab documentation and some open issues that they have.

Here is an issue that describes something similar to what you want:

https://gitlab.com/gitlab-org/gitlab-runner/issues/3540

Here is what I think is GitLab's goal with how to register runners:

https://gitlab.com/gitlab-org/gitlab-ce/issues/40693

I believe that the only thing that you can't change from the .toml file is the name of the runner, and maybe not the tags either. Then name is only created when you register the runner. I read something somewhere that you can change the tags of a shared runner, but I can't find it now.

Here is a workaround to make the process of registering a bit more automatic:

https://gitlab.com/gitlab-org/gitlab-runner/issues/3553#note_108527430

He used this API:

curl --request POST "https://gitlab.com/api/v4/runners" --form "token=<registration-token>" --form "description=test-1-20150125-test" --form "tag_list=ruby,mysql,tag1,tag2"

Then he got the following response back:

{"id":401513,"token":"<runner-token>"}

He could then inject the runner-token into his already pre-made .toml file.

For you, it would have been possible to use the registration token for your group, and then to write in the description/name of the runner and the tags. You could then have re-used your config.toml and only changed the runner-token, and it should have worked.

2 of 3
0

A gitlab runner can be registered with multiple projects and/or groups. This will just append the configurations in /etc/gitlab-runner/config.toml (with sudo). Can we just do the following steps:

  1. Un-register the gitlab-runner associated with the "project"
  2. Register the the gitlab-runner associated with the "group"

config.toml stores all the configuration which is passed to gitlab-runner register including any environment variables which are listed under gitlab-runner register -h command.

I am not sure why do you need to save the config.toml.

Also, I believe one source of confusion could be gitlab-runner-token VS gitlab-runner-registration-token. The registration-token can NOT be used inside config.toml which may be the reason why you failed after just a replacement. If you do not want to use gitlab-runner register command and just update the config.toml then follow the steps defined in the above ans to fetch the gitlab-runner-token and use it in config.toml. We can then try and stop and start the gitlab-runner service using sudo service gitlab-runner stop and sudo service gitlab-runner start

🌐
Cam
guidebook.devops.uis.cam.ac.uk › howtos › git-gitlab › register-a-gitlab-runner
Registering a Gitlab Runner - DevOps Division Guidebook
Create a runner directly in the GitLab UI or programmatically. Runner registration dialogue (example for project runner)
🌐
Turn DevOps Easier
turndevopseasier.com › automate-gitlab-runner-registration-and-unregistration
Automate GitLab Runner Registration and Unregistration – Turn DevOps Easier
October 31, 2025 - Regarding my workflow in the previous blog above, I extended the custom Bash script to become a wrapper for the gitlab-runner binary combined with the GitLab REST API. It automates the process of creating and registering a new Runner, as well as the process of unregistering and deleting the ...
🌐
GitLab
docs.gitlab.com › ci › runners
Runners | GitLab Docs
September 22, 2022 - They are responsible for running your builds, tests, deployments, and other CI/CD tasks defined in .gitlab-ci.yml files. The following is a basic workflow of how runners work: A runner must first be registered with GitLab, which establishes a persistent connection between the runner and GitLab.
🌐
GitHub
github.com › tobilg › gitlab-ci-runner-marathon › blob › master › docs › gitlab_runner_register_arguments.md
gitlab-ci-runner-marathon/docs/gitlab_runner_register_arguments.md at master · tobilg/gitlab-ci-runner-marathon
July 4, 2023 - NAME: register - register a new runner USAGE: command register [command options] [arguments...] OPTIONS: -c, --config "/etc/gitlab-runner/config.toml" Config file [$CONFIG_FILE] --tag-list Tag list [$RUNNER_TAG_LIST] -n, --non-interactive Run registration unattended [$REGISTER_NON_INTERACTIVE] --leave-runner Don't remove runner if registration fails [$REGISTER_LEAVE_RUNNER] -r, --registration-token Runner's registration token [$REGISTRATION_TOKEN] --name, --description "f3c40eb54139" Runner name [$RUNNER_NAME] --limit "0" Maximum number of builds processed by this runner [$RUNNER_LIMIT] --output-limit "0" Maximum build trace size in kilobytes [$RUNNER_OUTPUT_LIMIT] -u, --url Runner URL [$CI_SERVER_URL] -t, --token Runner token [$CI_SERVER_TOKEN] --tls-ca-file File containing the certificates to verify the peer when using HTTPS [$CI_SERVER_TLS_CA_FILE] --executor Select executor, eg.
Author   tobilg