相关疑难解决方法(0)

使用azure pipeline判断模板中是否存在变量

我正在尝试找出一种方法来执行以下操作

variables:
  ${{ if eq(variables['var-a'], exists_and_is_set) }}:
    namespaceName: $(var-a)
  ${{ if ne(variables['var-a'], exists_and_is_set) }}:
    namespaceName: $(var-b)
Run Code Online (Sandbox Code Playgroud)

基本上,如果变量 A 存在并且有一个值 != null != '' 则使用它,否则使用另一个变量。这里的脚本非常简单,我找不到方法来做到这一点。原因是我正在进行更改,在使用此模板的数百个 CICD 管道中,只有 10 个左右会使用var-a,因此我试图找到一种方法来实现逻辑,而不必去更新数百个管道包含他们不会使用的东西。

azure-pipelines

15
推荐指数
2
解决办法
3万
查看次数

Azure DevOps Yaml 管道中使用的 YAML 文件中的双大括号“{{}}”意味着什么?

最近正在研究 Azure DevOps 模板。并遇到了这种双花括号语法。只是想知道如何在 Azure DevOps 中使用双花括号。

看过一些关于相同内容的帖子。

  1. 将条件值分配给 Azure DevOps 中的变量

  2. Yaml 文件中的大括号

  3. 如果是在 Azure DevOps 中

  4. Azure DevOps 中的条件变量赋值

可以说,我在组中定义了一个变量,如下所示。

在 Azure DevOps 中定义变量组

我们还可以在 yaml 文件中定义变量,如下所示。

variables:
- name: BuildConfiguration
  value: 'Release'

- name: finalBuildArtifactName
  value: 'TempFolderName'
Run Code Online (Sandbox Code Playgroud)

什么时候应该使用双大括号语法?

我有关于并使用以下方法来引用变量的想法。

  1. 变量['MyVar']
  2. 变量.MyVar

与上述两个相比,我们可以用双花括号完成什么?

让 yaml 管道中的东西正常工作非常困难。进行更改、签入、运行管道、查看结果并再次返回。这非常耗时,而且至少可以说并不顺利。

azure-devops azure-pipelines azure-pipelines-yaml

7
推荐指数
1
解决办法
6756
查看次数

可以在Azure管道中完成条件变量分配吗?

Azure Pipelines具有表达式和条件,但是我找不到基于条件将两个值之一分配给变量的方法。

有什么办法可以完成这个伪代码吗?

    ${{ if endsWith( variables['Build.SourceBranchName'], '/master' ) }}: 
      buildVersion: variables['mavenVersion']
    ${{ else }}: 
      buildVersion: variables['Build.SourceBranchName']
Run Code Online (Sandbox Code Playgroud)

yaml azure-devops

4
推荐指数
4
解决办法
543
查看次数