Необходимо использовать For l oop не для каждого l oop in Azure Pipeline Template yaml - PullRequest
4 голосов
/ 16 июня 2020

Я знаю, как использовать для каждого l oop и сделал PO C, и он работает нормально. Но у меня есть запрос, в котором мне нужно использовать For l oop вместо For each.

Бизнес-пример: Необходимо динамически создавать задачу на основе ввода данных пользователем. Причина : Некоторые команды используют в своих проектах несколько задач maven. У меня есть централизованный шаблон, который будет создавать задачу на основе ввода пользователя для номера. из maven, которые им нужны в их конвейере.

Пример $ {{для i = 1; я <= п; i ++}} -task: maven@5 pompath: $ {pomxmlpath} </p>

Когда n = 5, необходимо создать 5 задач maven в конвейере azure.

1 Ответ

1 голос
/ 17 июня 2020

В конвейере Azure YAML такого выражения For loop нет. И на самом деле l oop через параметры шаблона Dynami c в Azure DevOps YAML путем указания n во время выполнения также недоступен.

Внутри выражения шаблона у вас есть доступ к контексту параметров, который содержит значения переданных параметров. Кроме того, у вас есть доступ к контексту переменных, который содержит все переменные, указанные в файле YAML, а также системные переменные. Важно: , у него нет переменных времени выполнения , таких как те, которые хранятся в конвейере или задаются при запуске запуска. Расширение шаблона происходит в самом начале выполнения, поэтому эти переменные недоступны.

https://docs.microsoft.com/en-us/azure/devops/pipelines/process/templates?view=azure-devops

...