我正在尝试设置一个测试,从GitHub动作中提取GHCR。根据文档,人们应该使用GITHUB_TOKEN。因此,我有以下设置:
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这些步骤的输出如下:
Logging into ghcr.io...
Login Succeeded!和
Error response from daemon: unauthorized不太确定授权的问题从何而来。
发布于 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
必要的步骤是:
在左侧的
为了确保容器包能够访问工作流,必须将存储工作流的存储库添加到容器中。单击Add存储库并搜索要添加的存储库.
注意:通过Actions access菜单选项向容器添加存储库与将容器连接到存储库是不同的。有关更多信息,请参见“确保对包的工作流访问”和“将存储库连接到包”。
的权限访问级别
${{ secrets.GITHUB_TOKEN }} (替换PAT).备注:仅仅将软件包与回购程序链接是不够的。
https://stackoverflow.com/questions/70386041
复制相似问题