Nic*_*sta 5 gitlab-ci terraform
我正在尝试使用 Terraform 部署一个 Gitlab 实例和运行程序。该脚本创建 Gitlab 和运行器没有任何问题,但我不知道如何在创建后自动注册运行器。
有什么方法可以从命令行获取注册令牌吗?如果可能的话,我可以仅使用 Terraform 调用外部数据源进行注册。
项目API 端点响应包含runners_token密钥。您可以使用它来自动获取任何项目的运行者令牌。
然后您可以通过多种方式使用它。一种方法是让您的跑步者注册脚本获取跑步者令牌本身,如下例所示:
curl --fail --silent --header "Private-Token: ${GITLAB_API_TOKEN}" "https://$GITLAB_URL/api/v4/projects/${PROJECT}"
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用Gitlab Terraform 提供程序的gitlab_project数据源从运行 Terraform 的任何内容中获取此数据,然后将其注入到运行注册脚本的内容中,例如模板文件:
data "gitlab_project" "example" {
id = 30
}
locals {
runner_config = {
runner_token = data.gitlab_project.example.runners_token
}
}
output "example" {
value = templatefile("${path.module}/register-runners.sh.tpl", local.runner_config)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12391 次 |
| 最近记录: |