有没有办法根据管道中定义的环境变量在模板中生成工件?
对于固定数量的工件,是的。您可以将工件的坐标作为参数(不是环境!)传递给模板,并使用模板中的参数。XML 涂鸦:
<pipeline name="foo" template="templatename" ...>
<params>
<param name="upstream-pipeline">my-pipeline</param>
<param name="upstream-stage">my-stage</param>
<param name="upstream-job">my-job</param>
<param name="upstream-artifacto-directory">my-directory</param>
</params>
...
</pipeline>
然后模板将执行类似的操作
<tasks>
<fetchartifact artifactOrigin="gocd" srcdir="#{upstream-artifact-directory}" pipeline="#{upstream-pipeline}" stage="#{upstream-stage}" job="#{upstream-job}">
...
在某种程度上,普通模板向导前端不允许创建带有变量的模板。我不得不切换到直接编辑 config.xml。
我建议从工作管道开始,然后将其转换为模板以减少 XML 试错。