是否可以在特定的跑步者上运行管道? (不使用标签)
使用environments
,甚至gitlab runner exec
是否可行?
情境:
有一个已经附加了多个跑步者的现有项目(用于注册跑步者的特定项目令牌)并且拥有它自己的关联标签(因此也无法改变这些标签)。
我添加了一个新的跑步者,但是需要先测试它以确保它有效,但是我需要强制管道在这台机器上构建,而不需要更改任何标签或跑步者的特定项目。 / p>
答案 0 :(得分:2)
您有两种机制可以尝试隔离新的跑步者进行测试:
使用标签和私人跑步者附件(已经叫出)。
为了进一步扩展这一点...即使在严苛的设置中你也无法改变标签和诸如此类的东西 - 你总是可以寻找项目。
在新的私人分叉中,您可以转到设置>> CI / CD并覆盖常规管道设置下的自定义CI配置路径中的.gitlab-ci.yml文件。这样,您就可以git cp .gitlab-ci.yml .mycustomgitlab-ci.yml
,然后只需git add
/ git commit
/ git push
即可开展业务。
意见:如果你不能使用适当的机制调整有问题的跑步者的标签并隔离一个新的分叉项目,这不是一个技术问题,这是一个政治问题。
Gitlab-runner exec ....
假设您正在使用shell gitlab runner ...
/tmp/myrepo
/path/to/gitlab-runner exec shell {.gitlab-ci.yml target}
在https://docs.gitlab.com/runner/commands/#gitlab-runner-exec
上查看https://substrakt.com/how-to-debug-gitlab-ci-builds-locally/及其相关博客Canary是一个单一版本的gitlab-runner。
您可以启动gitlab-runner进程来执行N个构建,然后返回脱机状态。请参阅:https://docs.gitlab.com/runner/commands/#gitlab-runner-run-single
......这不是零影响,但肯定会限制任何问题的爆炸半径。
答案 1 :(得分:1)
目前还没有针对GitLab中特定跑步者的解决方案,但Sticky Runners还有一个问题,根据里程碑,希望在未来3-6个月内出现问题!
到目前为止我为特定跑步者建立一个项目所做的工作是使用GitLab Runner API,以一种相当黑客的方式,按照以下方式:
答案 2 :(得分:0)
如果您不想使用标签,则另一个选项可能是将跑步者分配给您的特定项目。这个选项或标签替代方案是Gitlab的设计方式。