如何使用变量设置动态gitlab作业标签?
我正在尝试创建一个动态作业,可以根据给定的标签在两个 gitlab 运行程序之间切换。我想用环境变量来做到这一点,但似乎不能使用。以下工作:
runner_test:
image: alpine
tags:
- $MY_RUNNER
stage: deploy_main
script:
- echo foobar
retry: 2
导致管道暂停并出现错误: This job is stuck because you don't have any active runners online or available with any of these tags assigned to them: $MY_RUNNER
回答
这是目前不可用的。当前有一个未解决的问题在请求此功能的积压中:https : //gitlab.com/gitlab-org/gitlab-runner/-/issues/1809。
也许可以使用规则和扩展来解决:
.template:
stage: deploy_main
script:
- echo foobar
runner_test_1:
extends: .template
tags:
- runner_1
rules:
- if: $RUNNER_TAG == runner_1
runner_test_2:
extends: .template
tags:
- runner_2
rules:
- if: $RUNNER_TAG == runner_2
或类似的东西。