我必须从jenkins迁移到gitlab,我希望能够使用动态作业名称,以便直接在管道摘要中获得一些信息,而不必单击每个作业等。...在jenkins中,我们可以立即看到传递给我们工作的参数,而gitlab-ci中不是这种情况。
我的测试跑步者在Windows上,尝试按以下方式定义yml:
job_%myParam%:
stage: build
script:
- set>varList.txt
artifacts:
paths:
- varList.txt
当我使用%myParam%=true
开始我的工作时,该变量不会在工作名称中解释,因此它使用job_%myParam%的名称,而不是预期的“ job_true”。
那有可能吗?
thks:)
答案 0 :(得分:4)
从gitlab 12.9开始,可以使用trigger
和child pipelines来完成此操作-尽管有些涉及:
从gitlab文档中引用示例:
generate-config:
stage: build
script: generate-ci-config > generated-config.yml
artifacts:
paths:
- generated-config.yml
child-pipeline:
stage: test
trigger:
include:
- artifact: generated-config.yml
job: generate-config
在您的情况下,您将job_%myParam%
的定义放在job.yml.in
中,然后将脚本generate-ci-config
设为 eg sed "s/%myParam%/$PARAM/g" job.yml.in
。 / p>
仅更改名称可能会有点过多,而这将是附加阶段的成本;但它确实回答了这个问题,并且可能会做更多的事情,例如在同一管道中以不同版本的参数开头。
答案 1 :(得分:1)
否,GitLab CI中不能包含动态作业名称。