📄

GitHub Packagesへのdocker pushでハマった

この記事は公開から2年以上経過しています。内容が古くなっている可能性があります。

このドキュメントでGithub Packagesへの登録をしようとして、docker pushコマンドを実行したらpermission deniedが出ました。 権限を適切に設定しても、なおエラーになるのでちょっとハマりました。 解決方法を記載します。

TL;DR

今(2024/6現在)ではPackagesへのpushはpersonal access tokens (classic)しか使えない。Organizationの設定でpersonal access tokens (classic)を有効にする必要がある。

エラー内容と解決方法

denied: permission_denied: `OrgName` forbids access via a personal access token (classic). Please use a GitHub App, OAuth App, or a personal access token with fine-grained permissions.

Github Packagesのpushで必要になる、個人アクセストークンが2種類あります。 推奨されているのは、新しく出たpersonal access token (fine-grained personal access token)になります。 しかし、このfine-grained personal access tokenはGithub Packagesのpushには使えません。 なので、今(2024/6現在)ではpersonal access tokens (classic)しか使えません。

denied: permission_denied: The token provided does not match expected scopes.

このエラーは、アクセストークンのスコープが足りない場合に出ます。 具体的に必要なスコープは以下の通りです。(repoは勝手に有効になります) スクリーンショット2

また、組織内でpersonal access tokens (classic)を使うためには、組織の設定でAllow acess via personal access tokens (classic)を有効にする必要があります。 (私はここが抜けていたので、エラーが出てハマりました。)

スクリーンショット

新着記事

関連ネットワーク(beta)

ドラッグで移動 / Ctrl+ホイールでズーム