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

GitHub Actions如何拉取私有Google Artifacts Registry容器镜像

GitHub Actions拉取私有Google Artifact Registry容器镜像配置方案

GAR的Docker协议认证逻辑和Docker Hub有区别,不需要额外引入第三方登录Action,直接适配credentials字段即可,步骤如下:

前置准备

  • 把你持有的具备权限的GCP服务账号JSON密钥文件的完整原文(包含所有括号、换行、字段的全量文本),存储到GitHub仓库的Secrets中,建议命名为GCP_SA_KEY
  • 确认服务账号已拥有目标GAR仓库的拉取权限(你持有的所有者权限已满足要求,无需额外配置)

核心配置规则

GAR的Docker认证参数为固定值:

  • 用户名:_json_key(注意是固定字符串,不要填服务账号邮箱、GCP账号名)
  • 密码:刚才存入Secrets的服务账号JSON完整内容

完整工作流配置示例

jobs:
  my_job:
    runs-on: ubuntu-20.04
    container:
      image: asia-southeast2-docker.pkg.dev/my-project/my-repo/my-image:latest
      options: --user root
      credentials:
        username: _json_key
        password: ${{ secrets.GCP_SA_KEY }}

常见避坑提示

  • 不要拆分服务账号JSON的字段单独存储,必须传入完整JSON原文作为密码,否则会报认证失败
  • 镜像地址的区域前缀必须和你GAR仓库实际所在区域一致,跨区域拉取会报404或权限错误
  • 该配置在job初始化拉取容器阶段就会生效,不需要在steps中额外添加Docker登录步骤

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 22:24:18