需要使用 For 循环而不是 Azure Pipeline Template yaml 中的每个循环

Posted

技术标签:

【中文标题】需要使用 For 循环而不是 Azure Pipeline Template yaml 中的每个循环【英文标题】:Need to use For loop not for each loop in Azure Pipeline Template yaml 【发布时间】:2020-10-06 02:52:26 【问题描述】:

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

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

示例 $对于 i=1;我

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

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

即使我知道这一点。只是想了解是否有办法。非常感谢 您可以为此使用矩阵,也不确定,为什么您认为for each 循环在这里不起作用,它应该

以上是关于需要使用 For 循环而不是 Azure Pipeline Template yaml 中的每个循环的主要内容,如果未能解决你的问题,请参考以下文章

计算使用 C++ std 函数而不是 for 循环的大 O

使用 Django QuerySets 时使用列表推导而不是 for 循环

如何使代码在 FOR 循环中运行?而不是那么多的IF

使用扩展语法而不是 for 循环

为啥 C 和 C++ for 循环使用 int 而不是 unsigned int?

在“for”循环中以 1 递增时,是不是有使用 > (<) 而不是 != 的技术原因?