You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

配置Azure Pipeline从GitHub托管仓库拉取时如何使用GitHub服务连接认证

可以通过已配置的OAuth类型GitHub服务连接实现认证,完全不需要手动维护个人访问令牌(PAT),具体实现方式如下:

前置准备

  • 确认你创建的GitHub服务连接已开放所有Terraform模块所在仓库的读取权限
  • 确认当前Pipeline已被授予使用该服务连接的权限

Pipeline配置步骤

在原有Terraform执行步骤前新增一个预配置步骤,从服务连接中获取动态生成的访问令牌,配置git全局替换规则即可。示例YAML如下:

steps:
# 配置GitHub动态认证规则
- task: Bash@3
  displayName: "配置GitHub服务连接认证"
  env:
    # 此处替换为你实际创建的GitHub服务连接名称
    GITHUB_TOKEN: $(你的GitHub服务连接名称.AccessToken)
  inputs:
    targetType: 'inline'
    script: |
      git config --global url."https://oauth2:$GITHUB_TOKEN@github.com".insteadOf https://github.com

# 后续正常执行你原有的Terraform相关步骤即可
- task: TerraformInstaller@0
  inputs:
    terraformVersion: '你使用的Terraform版本号'
- task: TerraformTaskV3@3
  inputs:
    provider: 'azurerm'
    command: 'init'
    # 补充你原有terraform init的其余配置
- task: TerraformTaskV3@3
  inputs:
    provider: 'azurerm'
    command: 'plan'
    # 补充你原有terraform plan的其余配置

注意事项

  • GitHub使用令牌进行HTTPS认证时固定用户名为oauth2,无需修改
  • 服务连接的访问令牌由Azure DevOps在每次Pipeline运行时动态生成,运行结束后自动失效,无需手动更新维护
  • 如果你的Terraform模块存放在GitHub企业版实例中,只需将配置中的github.com替换为你的企业版GitHub域名即可

内容的提问来源于stack exchange,提问作者Ranika Nisal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 19:06:05