簡體   English   中英

推送 docker 圖像期間 Github 動作錯誤

[英]Github action error during push docker image

我正在嘗試在我的 github 操作中運行 docker 推送,因為喜歡使用相同的圖像作為不同存儲庫的一部分。 我正在使用的代碼如下:

  docker build . --pull --rm --file "$GITHUB_WORKSPACE/${{ matrix.path }}/Dockerfile" --tag ${{ matrix.name }}
  echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin

  IMAGE_ID=ghcr.io/${{ github.repository }}/${{ matrix.name }}
  # Strip git ref prefix from version
  VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,')
  echo IMAGE_ID=$IMAGE_ID
  echo VERSION=$VERSION
  docker tag ${{ matrix.name }} $IMAGE_ID:$VERSION
  docker push $IMAGE_ID:$VERSION

我得到的錯誤與權限有關:

  denied: installation not allowed to Create organization package"

我的權限中缺少的任何建議。

感謝大家的提示,這是缺少 PAT 規則和錯誤格式的組合。 以下代碼現在可以工作:

      docker build . --pull --rm --file "$GITHUB_WORKSPACE/${{ matrix.path }}/Dockerfile" --tag ${{ matrix.name }}
      echo "${{ secrets.GIT_DOCKER_PAT }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin

      IMAGE_ID=ghcr.io/${{ github.actor }}/${{ matrix.name }}
      # Change all uppercase to lowercase
      IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
      # Strip git ref prefix from version
      VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,')
      echo IMAGE_ID=$IMAGE_ID
      echo VERSION=$VERSION
      docker tag ${{ matrix.name }} $IMAGE_ID:$VERSION
      docker push $IMAGE_ID:$VERSION

PAT 具有以下權限:

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM