Azure Pipeline未部署至本地环境,如何改为部署至本地VM?
解决Azure Pipeline部署到本地VM而非Azure托管环境的问题
先把本地VM注册成Azure DevOps的自托管代理池成员
要让部署任务跑在本地VM,得先在本地VM上安装Azure DevOps自托管代理,把它加入一个专属的代理池。操作路径是:Azure DevOps组织设置 -> 代理池 -> 添加代理,跟着向导在本地VM上完成代理的安装和配置,确保代理状态显示在线。修改Deployment阶段的YAML配置,指定自托管代理池
在你的deployment job里添加pool字段,明确指向刚才创建的自托管代理池名称,替换默认的Azure托管池。修改后的配置示例如下:stages: - stage: BuildAndPush displayName: Build Docker Image pool: vmImage: 'ubuntu-latest' [...] - stage: Deployment displayName: Deployment condition: succeeded() jobs: - deployment: displayName: Deploy on ${{variables.environment}} environment environment: ${{variables.environment}} # 指定自托管代理池 pool: name: '你的自托管代理池名称' strategy: runOnce: deploy: steps: - task: Bash@3 displayName: List Artifacts inputs: targetType: 'inline' script: echo "HOSTNAME= $HOSTNAME"(可选)关联环境与本地VM资源
如果你的${{variables.environment}}环境需要绑定特定本地VM,可以在环境设置里添加"虚拟机"类型的资源,关联到你的自托管代理所在VM。这样配置后,部署任务会自动定位到该VM,也能省略手动指定pool的步骤,但显式指定pool更直接可控。验证代理状态
部署前确认自托管代理处于在线状态,否则Pipeline无法把任务调度到本地VM。
内容的提问来源于stack exchange,提问作者Arnaud F.
相关产品推荐
相关产品推荐

