【问题标题】:build-in release variables and variable groups in YAML release stagesYAML 发布阶段的内置发布变量和变量组
【发布时间】:2020-01-22 16:21:38
【问题描述】:

在 UI(经典)发布管道中,有 $(Release.EnvironmentName) 等内置变量,这些变量会根据您所处的阶段而变化。

使用 YAML 管道时是否有等价物?

在 classis 模式中,如果有链接,变量组也会自动作用于舞台,这在 YAML 中是否也可以以某种方式实现?

【问题讨论】:

    标签: azure-devops


    【解决方案1】:

    答案是肯定的。 Yaml 管道中预定义变量的用法与经典管道相同。 $(Release.EnvironmentName) 用于 classic release pipeline。您可以在yaml管道中引用变量$(System.StageName)$(Environment.Name)

    单击链接可查找更多预定义build variables。检查here 以了解有关 yaml 管道中变量的更多信息。

    适用于在经典发布管道中暂存的变量组

    在 Yaml 管道中是可能的。在 yaml 中,您可以通过在 yaml 中的作业或阶段下定义变量来确定作业或阶段中的变量组。下面的例子。

    1,范围为阶段构建的变量:

    stages:
    - stage: Build
      variables:
          - group: SourceMessage 
      jobs:
      - job: A            
    - stage: release     
      jobs:
      - job: B
    

    2、作用于所有阶段的变量:

    stages:
    variables:
      - group: SourceMessage 
    - stage: Build 
      jobs:
      - job: A            
    - stage: release     
      jobs:
      - job: B
    

    3、作用域为作业 A 的变量:

    stages:
    - stage: Build 
      jobs:
      - job: A  
        variables:
        - group: SourceMessage 
    - stage: release     
      jobs:
      - job: B 
    

    【讨论】:

    • 我尝试使用变量 $(Release.EnvironmentName) 但它似乎不起作用。我使用的 YAML:- stage: Deploy_Development jobs: - deployment: Development_Deploy environment: name: Development resourceType: VirtualMachine tags: dev strategy: runOnce: deploy: steps: - powershell: | Write-Host '$(Release.EnvironmentName)'
    • 你的第二个场景不起作用:“2,变量范围为所有阶段:”
    • 你可以试试 $(Environment.Name) for deployment job variables,或者 $(System.StageName) for system variables
    • 我可以确认$(Environment.Name)映射到environment:键,$(System.StageName)映射到stage:
    猜你喜欢
    • 2022-11-30
    • 1970-01-01
    • 2020-05-29
    • 2012-03-20
    • 2018-06-02
    • 1970-01-01
    • 1970-01-01
    • 2021-12-11
    相关资源
    最近更新 更多