如何将本地Azure DevOps Server仓库与Azure DevOps Services流水线集成
基于本地Azure DevOps Server在Azure DevOps SaaS创建流水线及集成方案
前提条件
确保Azure DevOps SaaS(云端)能够访问你的本地Azure DevOps Server 2020.1.1实例,可通过公网暴露、VPN连接或Azure Relay等方式实现网络连通。
一、正确创建「Azure Repos/Team Foundation Server」服务连接
这是适配本地Azure DevOps Server的官方连接方式,解决你之前经典流水线找不到连接的问题:
- 进入Azure DevOps SaaS项目的「项目设置」→「服务连接」→「新建服务连接」
- 选择「Azure Repos/Team Foundation Server」类型
- 填写本地服务器的完整URL(格式示例:
http://your-onprem-server:8080/tfs/YourCollectionName),指定目标项目名称 - 认证方式选择「个人访问令牌(PAT)」:使用本地Azure DevOps Server生成的PAT,需勾选「Code (Read)」「Build (Read & Execute)」「Release (Read)」等必要权限,有效期建议设为长期
- 给服务连接命名,勾选「允许所有流水线使用此连接」,完成创建
二、创建YAML流水线(推荐,适配自动触发与多分支)
- 在Azure DevOps SaaS项目中进入「流水线」→「新建流水线」
- 选择「Azure Repos/Team Foundation Server」作为代码源
- 选择刚创建的服务连接,然后选中目标本地仓库及初始分支
- 选择构建模板或自定义编写YAML,重点配置自动触发器以解决代码签入不触发、分支显示不全的问题:
trigger: branches: include: - master - develop - feature/* # 匹配所有feature开头的分支 paths: exclude: - README.md # 可选:排除不需要触发的文件路径 - 保存并运行流水线,后续代码签入指定分支时会自动触发构建
三、创建经典流水线(解决连接找不到的问题)
- 进入「流水线」→「新建流水线」→「使用经典编辑器」
- 选择「Azure Repos/Team Foundation Server」作为源,此时下拉框应能看到你创建的服务连接(若仍看不到,检查服务连接是否勾选「允许所有流水线使用」、URL是否正确)
- 选择对应本地仓库及分支,配置构建步骤
- 切换到「触发器」选项卡,勾选「持续集成」,点击「添加分支」选择需要触发的分支(支持通配符),保存后即可实现代码签入自动触发
四、解决之前的问题复盘
- Other Git连接PAT失败:Other Git适配通用Git仓库,本地Azure DevOps Server的Git仓库有专属认证机制,优先使用「Azure Repos/Team Foundation Server」服务连接
- 个人凭据无法自动触发流水线:个人凭据为交互式认证,无法支持流水线持续监听仓库变更;需使用服务级的PAT,且配置正确的分支触发器
- 仅显示master分支:检查服务连接的PAT是否有读取所有分支的权限,或在流水线创建时手动选择其他分支(YAML中通过trigger配置可自动识别多分支)
内容的提问来源于stack exchange,提问作者Harish334363
相关产品推荐
相关产品推荐

