首页 > 解决方案 > 需要使用 For 循环而不是 Azure Pipeline Template yaml 中的每个循环

问题描述

我知道如何使用每个循环并做了 POC,它工作正常。但是我有一个请求,我需要使用 For 循环而不是 For each。

业务案例:需要根据用户输入动态创建任务。 原因:一些团队在他们的项目中使用了多个 maven 任务。我有一个集中的模板,它将根据用户输入创建任务。他们在管道中需要的 Maven。

示例 ${{for i=1; 我<= n; i++}} -task: maven@5 pompath: ${pomxmlpath}

当 n = 5 时,它必须在 azure 管道中创建 5 个 maven 任务。

标签: templatesazure-devopsyamlazure-pipelinespipeline

解决方案


Azure YAML 管道中没有这样For loop的表达式。实际上,通过在运行时中指定 n 来循环 Azure devops YAML 中的动态模板参数也是不可用的。

在模板表达式中,您可以访问包含传入参数值的参数上下文。此外,您可以访问包含 YAML 文件中指定的所有变量以及系统变量的变量上下文。重要的是,它没有运行时变量,例如存储在管道中或在您开始运行时给出的变量。模板扩展在运行的早期发生,因此这些变量不可用。

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


推荐阅读