GitHub:拒绝:permission_denied:write_package

Ang*_*iev 27 github docker github-actions

我目前正在尝试运行 docker GitHub Action,它会构建 docker 映像并将其推送到 GitHub Packages,但我收到了一个我从未见过的错误。由于某种原因,它无法推送 docker 映像,因为write_permission被拒绝,但我有一个令牌允许我写入,所以我不明白问题是什么。

这是我的操作文件:

name: Docker Image CI

on:
  workflow_dispatch:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: Set up JDK 16
      uses: actions/setup-java@v1
      with:
        java-version: 16
    - name: Build with Maven
      run: mvn -f ACS/pom.xml clean install dependency:copy-dependencies
    - name: Login to GitHub Package Registry
      run: echo ${{ secrets.GITHUB_TOKEN }} | docker login docker.pkg.github.com -u ${{ github.repository }} --password-stdin
    - name: Build the Docker image
      run: docker build -t image:latest .
    - name: Tag the Docker image
      run: docker tag image:latest docker.pkg.github.com/organization/repository/image:latest
    - name: Push the Docker image to the registry
      run:  docker push docker.pkg.github.com/organization/repository/image:latest
Run Code Online (Sandbox Code Playgroud)

这是我的错误:

运行 docker push docker.pkg.github.com/organization/repository/image:latest 推送引用存储库 [docker.pkg.github.com/organization/repository/image] f0eaf014e806: 准备 7d0bad636b3f: 准备 aa0870e7c621: 准备 36d2f9f005e6: 准备22bb3686ee25:准备 05e198868a20:准备 b5cea4a3dd43:准备 93c7a8a0e1f4:准备 7f4b55b885b0:准备 05e198868a20:等待 b5cea4a3dd43:等待 93c7a8a0e1f4:等待ing 7f4b55b885b0:等待被拒绝:permission_denied:write_package

Viv*_*vek 54

我面临着同样的问题。为了解决这个问题

  • 转到用户/组织主页并单击Packages选项卡

  • 单击出现错误的permission_denied

  • 在右侧边栏的底部单击Package settings选项 在此输入图像描述

  • Manage Actions access包角色更改为write 在此输入图像描述

  • 完毕。现在重新运行该操作,您会发现问题已解决。


sar*_*ole 18

提出的解决方案对我不起作用,我必须将我的存储库添加到包设置中,如问题https://github.community/t/unable-to-push-to-ghcr-io-from-github-中所述行动/191761/3

转到包的包设置(右侧/底部)

并配置“管理操作访问”部分以允许相关 git 存储库在此包/docker 存储库上写入权限 - 因此请确保在添加存储库时也选择“写入”。


Ang*_*iev 4

对于那些感兴趣的人,我设法解决了我的问题,尽管不太确定我使用的步骤如何或更准确地帮助我解决了问题。

所以基本上,我首先撤销了我的代币并制作了一个新的代币。docker login -u USERNAME -p TOKEN ghcr.io然后我在使用之前像这样登录到 docker docker.pkg.github.com,然后设法手动推送我的 docker 映像,GitHub Package Registry然后使GitHub Action流程也正常工作,尽管我没有在那里进行任何更改。

我希望这可以帮助有同样问题的人。