首页/开发/CI/CD 与发布速查/GitHub Packages 与 GHCR
构建与制品管理58 条

GitHub Packages 与 GHCR

GitHub 生态的包与容器镜像托管(ghcr.io):与仓库权限打通,GITHUB_TOKEN 可认证,支持包级可见性与继承仓库权限。

CI/CD 与发布速查开发更新于 2026-10-12
容器ghcr.io/<owner>/<image>
认证GITHUB_TOKEN(actions 内)或 PAT(本地);packages: write 权限
可见性包可继承仓库权限或独立设置

Actions 推送

Actions 推送
permissions:
  contents: read
  packages: write
steps:
  - uses: docker/login-action@v3
    with:
      registry: ghcr.io
      username: ${{ github.actor }}
      password: ${{ secrets.GITHUB_TOKEN }}
  - run: docker push ghcr.io/${{ github.repository }}:1.8.0
组织级可设置包访问策略:默认继承仓库权限,跨仓库共享需显式授权。

易错点

  • 未声明 packages: write 就 push:权限错误在步骤后端才报,先给足最小权限
  • 公共镜像被意外设为公开:推送后检查包可见性,避免内部制品外泄

数据来源与参考

  • GitHub Docs《Working with the Container registry》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌