原文鏈接:https://docs.gitlab.com/runner/register/index.html
要求
在注冊(cè) Runner 之前,您需要先:
- 將其安裝在與安裝 GitLab 的位置不同的服務(wù)器上璃弄。
- 通過(guò) GitLab 的界面獲取共享或特定 Runner 的令牌易迹。
GNU/Linux
...
macOS
...
Windows
...
FreeBSD
...
Docker
在 Run GitLab Runner in a container 之后吸占,應(yīng)遵循這些說(shuō)明癌压。在本節(jié)中嫡霞,您將啟動(dòng)一個(gè)臨時(shí)的 gitlab-runner 容器來(lái)注冊(cè)您在安裝期間創(chuàng)建的容器衙荐。完成注冊(cè)后捞挥,生成的配置將寫入您選擇的配置卷中(如:/srv/gitlab-runner/config
),Runner 將自動(dòng)加載并使用該配置卷忧吟。
要使用 Docker 容器注冊(cè) Runner:
- 運(yùn)行注冊(cè)命令:
docker run --rm -t -i -v /srv/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner register
注意:如果你在安裝期間使用了
/srv/gitlab-runner/config
以外的配置卷砌函,則應(yīng)使用正確的卷以上更新命令。
- 輸入您的 GitLab 實(shí)例 URL:
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com )
https://gitlab.com
- 輸入您獲得的令牌以注冊(cè) Runner:
Please enter the gitlab-ci token for this runner
xxx
- 輸入 Runner 的描述溜族,您可以稍后在 GitLab 的 UI 中更改:
Please enter the gitlab-ci description for this runner
[hostname] my-runner
- 輸入 與 Runner 關(guān)聯(lián)的標(biāo)簽胸嘴,您可以稍后在 GitLab 的 UI 中更改:
Please enter the gitlab-ci tags for this runner (comma separated):
my-tag,another-tag
Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell:
docker
- 如果您選擇 Docker 作為 Runner 的執(zhí)行者,則會(huì)要求設(shè)置未在
.gitlab-ci.yml
中定義的用于該項(xiàng)目的默認(rèn)鏡像:
Please enter the Docker image (eg. ruby:2.1):
alpine:latest
單行注冊(cè)命令
如果要使用非交互模式注冊(cè) Runner斩祭,可以使用 register
子命令或使用其等效的環(huán)境變量劣像。要查看所有register
子命令的列表,請(qǐng)使用:
gitlab-runner register -h
要使用最常用的選項(xiàng)注冊(cè) Runner摧玫,您可以執(zhí)行:
sudo gitlab-runner register \
--non-interactive \
--url "https://gitlab.com/" \
--registration-token "PROJECT_REGISTRATION_TOKEN" \
--executor "docker" \
--docker-image alpine:latest \
--description "docker-runner" \
--tag-list "docker,aws" \
--run-untagged="true" \
--locked="false" \
--access-level="not_protected"
如果您在 Docker 容器中運(yùn)行 Runner耳奕,則 register
命令將如下所示:
docker run --rm -v /srv/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner register \
--non-interactive \
--executor "docker" \
--docker-image alpine:latest \
--url "https://gitlab.com/" \
--registration-token "PROJECT_REGISTRATION_TOKEN" \
--description "docker-runner" \
--tag-list "docker,aws" \
--run-untagged="true" \
--locked="false" \
--access-level="not_protected"
[[runners]]
配置模版文件
某些 Runner 配置設(shè)置無(wú)法使用環(huán)境變量或命令行選項(xiàng)進(jìn)行設(shè)置绑青。
例如:
- 環(huán)境變量不支持切片。
- 對(duì)于整個(gè) Kubernetes 執(zhí)行程序卷樹的設(shè)置屋群,命令行選項(xiàng)支持在國(guó)際上不可用闸婴。
對(duì)于由任何類型的自動(dòng)化處理的環(huán)境,例如 GitLab Runner 官方 Helm 圖表芍躏,這都是一個(gè)問(wèn)題邪乍。在這些情況下,唯一的解決方案是在注冊(cè) Runner 之后手動(dòng)更新 config.toml
文件对竣。這不太理想庇楞,容易出錯(cuò),而且不可靠否纬。特別是當(dāng)完成相同 Runner 安裝的多個(gè)注冊(cè)時(shí)吕晌。
使用配置模板文件可以解決此問(wèn)題。
要使用配置模板文件临燃,請(qǐng)將路徑傳遞給文件以注冊(cè)以下內(nèi)容:
-
--template-config
命令行選項(xiàng)睛驳。 -
TEMPLATE_CONFIG_FILE
環(huán)境變量。
模版配置文件支持:
- 只有一個(gè)
[[runners]]
部分膜廊。 - 非全局選項(xiàng)乏沸。
...