Azure 管道基础模板在环境中插入名称键

时间:2021-05-21 14:56:48

标签: yaml azure-pipelines

我有一个接受 stageList 参数的基本模板。我不会对这些阶段的工作做任何事情:

parameters:
- name: stages
  type: stageList
  default: []

stages:
- ${{ parameters.stages }}

我正在进入包含部署作业的阶段。为了测试目的,我已经对环境进行了硬编码,但即便如此,它还是在环境下插入了键“名称:环境”:

resources:
  repositories:
  - repository: templates
    type: git
    name: basePipelineTemplatesHost/basePipelineTemplatesHost

extends:
  template: templateExtendedByDeployment/template.yml@templates
  parameters:
    stages:
    - stage: buildStage1
      jobs:    
      - deployment:
        displayName: Deploy to demo environment
        environment: DTL-Demo-Env
        strategy:
          runOnce:
            deploy:
              steps:
              - script: echo test

导致以下呈现的 yaml:

    environment: {
      name: DTL-Demo-Env
    }

这会导致作业在托管的虚拟机上运行,​​而不是在我的本地环境代理上运行。这是一个错误吗?

1 个答案:

答案 0 :(得分:1)

只是一个建议,你应该在环境下添加resourceType

 jobs:    
      - deployment:
        displayName: Deploy to demo environment
        environment: 
         name: DTL-Demo-Env
         resourceType: VirtualMachine
        strategy:
          runOnce:
            deploy:
              steps:
              - script: echo test

否则,当您使用私有代理时,新创建的环境将始终在托管代理下创建。您应该添加它以让您的私有代理下的环境变量。