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

如何在GitHub Actions的service服务中登录私有GitHub Package Registry

解决方案
  • 第一步:给Workflow配置packages: read权限,确保GitHub自动生成的GITHUB_TOKEN有读取GHCR镜像包的权限。如果你的私有镜像和当前Workflow所在仓库属于同一个组织/个人账号,直接用内置的GITHUB_TOKEN即可,不需要额外生成令牌。
  • 第二步:在service的配置块下添加credentials字段,传入GHCR的登录信息,用户名固定为${{ github.actor }},密码用${{ secrets.GITHUB_TOKEN }}即可。

完整配置示例如下:

on: push

# 新增权限配置
permissions:
  packages: read

jobs:
  runner-job:
    runs-on: ubuntu-latest
    services:
      postgres:
        image: ghcr.io/orgname/reponame:tag
        # 新增登录凭证配置
        credentials:
          username: ${{ github.actor }}
          password: ${{ secrets.GITHUB_TOKEN }}

如果要拉取的私有镜像和当前Workflow所在仓库不属于同一个组织/个人账号,你需要单独生成拥有read:packages权限的个人访问令牌(PAT),将PAT存储为当前仓库的密钥(比如命名为GHCR_PULL_TOKEN),然后把上面配置里的secrets.GITHUB_TOKEN替换为secrets.GHCR_PULL_TOKEN即可。

内容的提问来源于stack exchange,提问作者Antonio Gamiz Delgado

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 08:09:03