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

删除重建GitHub仓库后默认token无法推送容器镜像的解决咨询

问题背景

我有一个包含容器镜像构建与发布工作流的GitHub仓库,关键工作流步骤如下:

- name: Log in to the Container registry
  uses: docker/login-action@v2
  with:
    registry: ${{ env.REGISTRY }}
    username: ${{ github.actor }}
    password: ${{ secrets.GITHUB_TOKEN }}

[...]

- name: Build and push Docker image
  uses: docker/build-push-action@v3
  with:
    context: .
    push: true
    tags: ${{ steps.meta.outputs.tags }}
    labels: ${{ steps.meta.outputs.labels }}

删除该仓库后以同名重建,恢复内容后上述操作失败,报错:

ERROR: denied: permission_denied: write_package
Error: buildx failed with: ERROR: denied: permission_denied: write_package

通过registry API发现对应镜像仓库仍存在,包含原仓库的镜像标签。原以为删除Git仓库时包仓库会被删除,但它仍留存且关联旧认证凭据。

手动生成GitHub token并修改登录步骤作为临时解决:

- name: Log in to the Container registry
  uses: docker/login-action@v2
  with:
    registry: ${{ env.REGISTRY }}
    username: ${{ github.actor }}
    password: ${{ secrets.OVERRIDE_GITHUB_TOKEN }}

此方法可行,但包仓库不再关联Git仓库,且临时方案存在维护问题(如token过期需手动更新)。

请问是否可恢复默认token的包仓库权限、重新关联Git与包仓库?或能否直接删除该包仓库?


解决方案选项

1. 直接删除遗留的包仓库

这是最直接的解决方式,步骤如下:

  • 登录GitHub账号,进入个人或组织的Packages页面
  • 找到对应名称的容器镜像包仓库
  • 点击包仓库右上角的Settings按钮
  • 滚动到页面底部的Danger Zone区域,点击Delete this package
  • 按照提示输入包名称确认删除

删除后,重新推送镜像时会自动创建与新仓库关联的包仓库,此时默认的GITHUB_TOKEN会拥有正常的写入权限。

2. 重新关联包仓库到新的Git仓库

如果需要保留原有镜像标签,可尝试重新关联:

  • 进入遗留包仓库的Settings页面
  • 在Linked repositories区域,点击Link a repository
  • 搜索并选择你重建后的同名Git仓库,完成关联
  • 进入新Git仓库的Settings > Actions > General,确保Workflow permissions设置为Read and write permissions
  • 重新触发工作流,此时GITHUB_TOKEN应该能正常推送镜像

3. 验证默认GITHUB_TOKEN权限

如果关联后仍有问题,检查以下设置:

  • 进入新Git仓库的Settings > Actions > General
  • 确认Workflow permissions勾选的是Read and write permissions,而非仅读权限
  • 按需开启Allow GitHub Actions to create and approve pull requests选项(部分场景需要)

关键说明

  • GitHub删除Git仓库时,不会自动删除对应的包仓库,这是设计行为,避免误删重要镜像资产
  • 手动创建的PAT需要至少拥有write:packages权限才能推送镜像,但长期使用存在过期和维护成本,优先推荐前两种方案

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 03:10:25