Closed1
GitHub CLIを使ってPAT無しでghcr.ioにログインする

背景
GitHub PackagesのプライベートなコンテナレジストリからイメージをPull/Pushするには、GitHubアカウントで認証する必要があるが、公式のドキュメントでは、personal access token(PAT)を使う方法しか記載されていない。
社内向けのドキュメントにPATを使う方法を書くのはセキュリティ的に憚られるので、代替手段を探すことにした。
解決策
以下のコマンドはBash/ZshでもPowerShellでもそのままコピペで使える。
# まだログインしていなければ、ログインする
gh auth login
# パッケージ読み書きのスコープを付与(pullだけならread:packagesだけで良い)
gh auth refresh --scopes read:packages,write:packages
# Dockerエンジンに認証情報を渡す
gh auth token | docker login ghcr.io --username $(gh api user -q ".login") --password-stdin
参考
このスクラップは2024/11/13にクローズされました