Использовать переменную времени выполнения для имени репозитория при оформлении заказа в Azure конвейерах - PullRequest
2 голосов
/ 09 июля 2020
• 1000 хочу сослаться на это во время задачи checkout. Однако я продолжаю получать ошибки из-за того, что переменная оценивается во время выполнения.

т.е. матрица

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

, и я хочу сделать что-то вроде

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

, но это не 't вычисляется и выдает ошибку перед запуском конвейера. Точно так же использование ${{ variables['repo'] }} также не работает, потому что оно оценивается во время компиляции и, таким образом, становится пустой строкой.

Я определил потенциальные репозитории как ресурсы в конвейере yaml, а также пытался передать полную git путь в качестве значения переменной.

Есть ли другой способ сделать это?

Ответы [ 2 ]

1 голос
/ 10 июля 2020

Согласно тесту, синтаксис переменных не должен поддерживаться на этапе проверки.

Если вы используете переменные для ссылки на репо на этапе проверки, то при запуске конвейера вы получите следующая ошибка:

enter image description here

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

You can refer to this official документ .

0 голосов
/ 13 июля 2020

Вы можете получить связанный ресурс, вызвав команду git clone для значения переменной матрицы.

...