5

我在多阶段管道中有一个矩阵,它生成要执行的作业并签出到不同的 git 存储库并进行提交。

该矩阵将存储库名称作为一个值,我想在checkout任务期间引用它。但是,由于在运行时评估变量,我不断收到错误。

即矩阵

matrix:
  repo_foo:
    repo: foo
  repo_bar:
    repo: bar

我想做类似的事情

steps:
- checkout: $[ variables['repo'] ]

但那些没有被评估并在管道开始之前引发错误。同样, using${{ variables['repo'] }}也失败了,因为它在编译时被评估,因此变成了一个空字符串。

我已将潜在的存储库定义为管道 yaml 中的资源,并尝试将完整的 git 路径作为变量值传递。

还有其他方法可以做到这一点吗?

4

2 回答 2

1

根据测试,结帐步骤中不应该支持变量语法。

如果您在结帐步骤中使用变量来引用 repo,那么当您开始运行管道时,您将收到以下错误:

在此处输入图像描述

steps:
- checkout: self | none | repository name # self represents the repo where the initial Pipelines YAML file was found

你可以参考这个官方文档

于 2020-07-10T03:32:42.053 回答
0

您可以通过对矩阵变量值调用 git clone 命令来获取相关资源。

于 2020-07-13T13:49:30.310 回答