多阶段YAML Azure管道变量范围

时间:2020-02-26 21:36:39

标签: azure-devops yaml

我正在使用多阶段Azure管道。使用经典编辑器,我可以设置变量的作用域,但不能使用YAML管道。使用YAML多级管道怎么可能?

enter image description here

这是经典UI,可以在其中设置范围。

enter image description here

3 个答案:

答案 0 :(得分:1)

以下方法将有所帮助。在以下情况下,我将更改HTML文件。您可以使用config或JSON等。在HTML文件中代替变量声明,例如

#{name}#

#{name2}#

- stage: Dev
  displayName: Deploy to Dev
  dependsOn: Build
  variables:
    name: valueDev
    name2: valueDev2
  jobs:
    - deployment: Dev
      displayName: Deploy to Dev
      environment: Dev
      strategy:
          runOnce:
            deploy:
              steps:
              - checkout: self
                clean: true
              - task: qetza.replacetokens.replacetokens-task.replacetokens@3
                displayName: 'Replace tokens in **/*.config'
                inputs:
                  targetFiles: '**/*.html'
                  tokenPrefix: '#{'
                  tokenSuffix: '}#'

- stage: Test
      displayName: Deploy to Test
      dependsOn: Dev
      variables:
        name: valueTest
        name2: valueTest2
      jobs:
        - deployment: Test
          displayName: Deploy to Test
          environment: Test
          strategy:
              runOnce:
                deploy:
                  steps:
                  - checkout: self
                    clean: true
                  - task: qetza.replacetokens.replacetokens-task.replacetokens@3
                    displayName: 'Replace tokens in **/*.config'
                    inputs:
                      targetFiles: '**/*.html'
                      tokenPrefix: '#{'
                      tokenSuffix: '}#'

答案 1 :(得分:0)

不能。使用variable group并将变量组链接到所需的作用域,或将机密存储在Azure密钥库或其他一些安全机密存储中。

答案 2 :(得分:0)

实际上可以,但是您必须将变量复制粘贴到每个“ -stage”块中。