首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从GitHub包中从GitHub操作中提取

无法从GitHub包中从GitHub操作中提取
EN

Stack Overflow用户
提问于 2021-12-16 21:50:25
回答 1查看 2.6K关注 0票数 0

我正在尝试设置一个测试,从GitHub动作中提取GHCR。根据文档,人们应该使用GITHUB_TOKEN。因此,我有以下设置:

代码语言:javascript
复制
name: CI
on: push

env:
  REGISTRY: ghcr.io

jobs:
  test:
    runs-on: ubuntu-latest
    permissions:
      packages: read
    steps:
      - name: Log in to the Container registry
        uses: docker/login-action@v1
        with:
          registry: ${{ env.REGISTRY }}
          username: ${{ github.actor }}
          password: ${{ secrets.GITHUB_TOKEN }}
      - name: pull
        run: |
          docker pull ghcr.io/username/terraform-provider-skopeo/alpine:latest

这些步骤的输出如下:

代码语言:javascript
复制
Logging into ghcr.io...
Login Succeeded!

代码语言:javascript
复制
Error response from daemon: unauthorized

不太确定授权的问题从何而来。

EN

回答 1

Stack Overflow用户

发布于 2021-12-17 20:52:27

实际上,您需要显式地授予Repo的操作权限:https://docs.github.com/en/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions#upgrading-a-workflow-that-accesses-ghcrio

必要的步骤是:

  • 导航到您的包裹登陆页。

在左侧的

  • 栏中,单击Actions access。左侧菜单中的“操作访问”选项

为了确保容器包能够访问工作流,必须将存储工作流的存储库添加到容器中。单击Add存储库并搜索要添加的存储库.

  • “添加存储库”按钮

注意:通过Actions access菜单选项向容器添加存储库与将容器连接到存储库是不同的。有关更多信息,请参见“确保对包的工作流访问”和“将存储库连接到包”。

  • 可以选择使用“角色”下拉菜单,选择您希望存储库对容器映像具有的默认访问级别。要授予repositories

的权限访问级别

  • 打开您的工作流文件。在登录到ghcr.io的行中,确保使用${{ secrets.GITHUB_TOKEN }} (替换PAT).

备注:仅仅将软件包与回购程序链接是不够的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70386041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档