ノート: GitHub Packagesは現在GitHub AEでベータです。
GitHub Packages について
GitHub Packagesはパッケージホスティングサービスで、GitHubと完全に統合されています。 GitHub Packagesは、ソースコードとパッケージを一カ所にまとめ、統合された権限管理を提供し、GitHub AE上でのソフトウェア開発を一元化できるようにします。
You can integrate GitHub Packages with GitHub AE APIs, GitHub Actions, and webhooks to create an end-to-end DevOps workflow that includes your code, CI, and deployment solutions.
GitHub Packagesは、nmp、RubyGems、Apache Maven、Gradle、Docker、NuGetといった、広く使われているパッケージマネージャーに対する様々なパッケージレジストリを提供しています。 GitHub Packagesがサポートする様々なパッケージレジストリに関する詳しい情報については「GitHub Packagesレジストリの利用」を参照してください。

GitHub AEでは、ライセンスのようなメタデータやパッケージのREADMEを表示したり、統計をダウンロードしたり、バージョン履歴を見たりできます。 詳しい情報については「パッケージの表示」を参照してください。
パッケージの権限と可視性の概要
| 権限 | |
| それぞれのパッケージは、ホストされているリポジトリの権限を継承します。 たとえば、リポジトリの読み取り権限を持つ人であれば、プロジェクトに依存関係としてパッケージをインストールでき、書き込み権限を持つ人であれば、新しいパッケージバージョンを公開できます。 | |
| 可視性 | You can publish packages in an internal repository (internal packages) to share with everyone on your enterprise, or in a private repository (private packages) to share with collaborators or an organization. |
詳しい情報については「GitHub Packagesの権限について」を参照してください。
サポートされているクライアントとフォーマット
GitHub Packagesは、パッケージのバージョンの公開とインストールに、すでにおなじみのネイティブのパッケージツールコマンドを使います。
パッケージレジストリのサポート
| 言語 | 説明 | パッケージフォーマット | パッケージクライアント |
|---|---|---|---|
| JavaScript | Nodeのパッケージマネージャー | package.json | npm |
| Ruby | RubyGemsパッケージマネージャー | Gemfile | gem |
| Java | Apache Mavenのプロジェクト管理及び包括的ツール | pom.xml | mvn |
| Java | Java用のGradleビルド自動化ツール | build.gradle または build.gradle.kts | gradle |
| .NET | .NET用のNuGetパッケージ管理 | nupkg | dotnet CLI |
| なし | Dockerコンテナ管理プラットフォーム | Dockerfile | Docker |
GitHub Packagesと使うためのパッケージクライアントの設定に関する詳しい情報については「GitHub Packagesレジストリの利用」を参照してください。
GitHub Packages への認証を行う
GitHub Packagesでパッケージを公開、インストール、削除するにはアクセストークンが必要です。
You can use a personal access token (PAT) to authenticate to GitHub Packages or the GitHub AE API. 個人トークンを作成する際には、必要に応じて様々なスコープをトークンに割り当てできます。 PATに関するパッケージ関連のスコープについての詳しい情報は、「GitHub Packagesの権限について」を参照してください。
GitHub Actionsワークフロー内でGitHub Packagesレジストリに認証を受けるには、以下の方法が使えます。
GITHUB_TOKENを使って、ワークフローリポジトリに関連づけられたパッケージを公開。- PATで他のプライベートリポジトリ(これには
GITHUB_TOKENがアクセスできない)に関連づけられたパッケージをインストール。
GitHub Actionsワークフローで使われるGITHUB_TOKENに関する詳しい情報については「ワークフローでの認証」を参照してください。
パッケージの管理
パッケージのバージョンは、GitHub AE上で、またはGraphQL APIを使って削除できます。
GraphQL APIを使ってプライベートパッケージに対するクエリや削除を行う場合、GitHub Packagesの認証に使うのと同じトークンを使わなければなりません。 詳しい情報については、 「パッケージを削除する」および「"GraphQLでの呼び出しの作成」を参照してください。
webhookを設定して、パッケージの公開や更新といったパッケージ関連のイベントにサブスクライブできます。 詳しい情報については、「package webhookイベント」を参照してください。
サポートへの連絡
GitHub Packagesのサポートが必要な場合は、サイト管理者に連絡してください。

