我有一个接受 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
}
这会导致作业在托管的虚拟机上运行,而不是在我的本地环境代理上运行。这是一个错误吗?
答案 0 :(得分:1)
只是一个建议,你应该在环境下添加resourceType。
jobs:
- deployment:
displayName: Deploy to demo environment
environment:
name: DTL-Demo-Env
resourceType: VirtualMachine
strategy:
runOnce:
deploy:
steps:
- script: echo test
否则,当您使用私有代理时,新创建的环境将始终在托管代理下创建。您应该添加它以让您的私有代理下的环境变量。