如何在Azure Build Pipeline中配置SSH以依赖私有AZ仓库?
在Azure Build Pipeline中配置SSH访问私有Git仓库的解决方案
步骤1:准备SSH密钥对
- 确保你已拥有本地可用的SSH密钥对(若未生成,执行命令:
ssh-keygen -t rsa -b 4096 -C "your-email@example.com") - 将公钥添加至私有仓库的SSH授权列表(例如GitHub的「Settings -> SSH and GPG keys」、GitLab的「SSH Keys」设置页面)
步骤2:在Azure DevOps中安全存储私钥
- 进入Azure DevOps项目的Project Settings → Pipelines → Library
- 创建新的变量组(或直接在目标Pipeline的变量配置中操作)
- 添加名为
SSH_PRIVATE_KEY的变量,粘贴本地私钥文件(通常是~/.ssh/id_rsa)的完整内容,勾选Keep this value secret以保护密钥安全
步骤3:在Pipeline中配置SSH密钥
YAML Pipeline示例
使用InstallSSHKey任务导入私钥,替换占位符为你的实际信息:
- task: InstallSSHKey@0 inputs: hostName: 'git.your-repo-host.com' # 替换为私有仓库主机域名,如github.com、gitlab.com sshPrivateKey: '$(SSH_PRIVATE_KEY)'
经典编辑器(可视化配置)
添加「Install SSH Key」任务,在参数中填入私有仓库主机域名,并选择对应存储的私钥变量
步骤4:克隆私有仓库
在Pipeline中添加脚本任务执行克隆操作,示例:
git clone git@git.your-repo-host.com:your-username/your-repo.git
若涉及子模块,确保子模块URL为SSH格式,再执行:
git submodule update --init --recursive
注意事项
InstallSSHKey任务会自动将私有仓库主机添加至Agent的known_hosts文件,无需手动配置- 检查私钥内容是否完整复制,避免多余换行或缺失字符导致权限验证失败
- 确保Azure Pipelines Agent所在环境能访问私有仓库主机(如企业内部仓库需Agent处于对应内网)
内容的提问来源于stack exchange,提问作者Ramya Theja Eedara
相关产品推荐
相关产品推荐

