代码之家  ›  专栏  ›  技术社区  ›  interfect

如何使用预先生成的config.toml注册/重新注册Gitlab Runner?

  •  0
  • interfect  · 技术社区  · 7 年前

    最近,我想将为自己托管的gitlab实例设置的gitlab运行程序从项目运行程序(即仅为项目运行作业)移动到组运行程序(以便它也可以为同一组中的其他项目运行作业)。我想保留 /etc/gitlab-runner/config.toml 我苦心经营手写的布景。

    幸运的是我备份了 config.toml ,因为 sudo gitlab-runner unregister -t ... -u ... 从中删除了整个配置 配置文件 .

    为了在组而不是项目下注册相同的配置,我必须:

    1. 使用组的注册令牌,使用虚拟配置在暂停状态下注册运行程序:
    sudo gitlab-runner register \
      --non-interactive \
      --url <URL HERE>
      --registration-token <TOKEN HERE> \
      --executor docker \
      --docker-image docker:dind \
      --paused
    
    1. 进入新的 配置文件 创建并复制跑步者的单个跑步者标记。

    2. 重写 配置文件 我想要的配置。

    3. 编辑 配置文件 并插入新的个人跑步者代币。

    4. 启动Gitlab Runner Sercice( sudo systemctl start gitlab-runner )

    5. 在gitlab web ui中取消暂停运行程序。

    即使完成了所有这些操作,gitlab实例仍然可以在虚拟配置中看到运行程序的名称,而不是在 配置文件 .

    尝试 --config 选择权 gitlab-runner register 根本不起作用,我想那只是告诉它去哪里 节约 配置。它仍然提示我使用新设置,而不是从 配置文件 我指着它。

    关于跑步者注册的gitlab文档都是围绕一个镜头编写的 Gitlab运行寄存器 带有大量选项的命令,这些选项实际上指定了命令行上的整个配置。我真的不想翻译我的 配置文件 手动转换为一个命令行,该命令行可以翻转并重建它(当然,不包括任何注释)。

    我不敢相信这是用一个新的project/group/gitlab实例重新注册一个运行程序,或者从保存的配置创建一个运行程序副本的正确工作流。我错过了什么?如何从现有的 配置文件 文件?

    0 回复  |  直到 7 年前
        1
  •  1
  •   MrBerta    7 年前

    从gitlab文档和他们的一些公开问题中我可以找到一个简单的方法来做你想要的事情。

    这里有一个问题描述了与您想要的类似的内容:

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

    我认为Gitlab的目标是如何注册跑步者:

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

    我相信从.toml文件中唯一不能更改的是运行程序的名称,也许也不能更改标记。只有在注册跑步者时才会创建名称。我在某个地方读到一些东西,你可以更改共享跑步者的标签,但我现在找不到。

    以下是使注册过程更加自动化的解决方法:

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

    他使用了这个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"
    

    然后他得到了如下回复:

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

    然后,他可以将Runner令牌注入到已经预先制作好的.toml文件中。

    对您来说,可以为您的组使用注册令牌,然后写入运行程序的描述/名称和标记。然后,您可以重新使用config.toml,只更改runner令牌,它应该可以工作。

        2
  •  0
  •   fzgregor    7 年前

    我们将运行程序配置存储在存储库中以进行恢复。

    为了恢复跑步者,我们:

    1. 安装 gitlab-runner (见 https://docs.gitlab.com/runner/install/ )在新节点上,
    2. 将存储的配置移动到 /etc/gitlab-runner/config.toml
    3. 重新启动Runner服务,例如 sudo service gitlab-runner restart 在Ubuntu上。

    到目前为止,这个程序是非常可靠的。