Skip to main content
ドキュメントへの更新が頻繁に発行されており、このページの翻訳はまだ行われている場合があります。 最新の情報については、「英語のドキュメント」を参照してください。

GitHub Packages の概要

GitHub Packages はソフトウェア パッケージのホスティング サービスであり、ソフトウェア パッケージをプライベートにまたはパブリックにホストでき、パッケージをプロジェクト中で依存関係として使えるようになります。

GitHub Packages は、GitHub Free、GitHub Pro、Organization の GitHub Free、GitHub Team、GitHub Enterprise Cloud、GitHub Enterprise Server 3.0 以降、GitHub AE で利用できます。
GitHub Packagesは、レガシーのリポジトリごとのプランを使っているアカウントが所有しているプライベートリポジトリでは利用できません。 また、レガシーのリポジトリごとのプランを使っているアカウントは、リポジトリごとに課金される Container registry にはアクセスできません。 詳細については、「GitHub's products」を参照してください。

GitHub Packages について

GitHub Packages は、コンテナーやその他の依存関係を含むパッケージをホストおよび管理するためのプラットフォームです。 GitHub Packagesは、ソースコードとパッケージを 1 か所にまとめ、統合された権限管理と支払いを提供し、GitHub Enterprise Cloud 上でのソフトウェア開発を一元化できるようにします。

GitHub Packagesは、GitHub API、GitHub Actions、webhookと統合して、コード、CI、デプロイメントのソリューションを含むエンドツーエンドのDevOpsワークフローを作成できます。

GitHub Packagesは、nmp、RubyGems、Apache Maven、Gradle、Docker、NuGetといった、広く使われているパッケージマネージャーに対する様々なパッケージレジストリを提供しています。 GitHub の Container registry はコンテナーに最適化されており、Docker と OCI イメージをサポートします。 GitHub Packages がサポートするさまざまなパッケージ レジストリについての詳しい情報は、「GitHub Packages レジストリの操作」をご覧ください。

コンテナレジストリ、RubyGems、npm、Apache Maven、NuGet、Gradle のパッケージサポートを示す図

GitHub Enterprise Cloudでは、ライセンスのようなメタデータやパッケージのREADMEを表示したり、統計をダウンロードしたり、バージョン履歴を見たりできます。 詳しくは、「パッケージの表示」をご覧ください。

パッケージの権限と可視性の概要

アクセス許可パッケージのアクセス許可は、パッケージがホストされているリポジトリから継承することも、特定のユーザーや組織アカウント用に定義することもできます。 一部のレジストリでは、リポジトリから継承されたアクセス許可のみがサポートされます。 そのようなレジストリの一覧については、「GitHub Packages のアクセス許可について」をご覧ください。 パッケージのアクセスについて詳しくは、「パッケージのアクセス制御と可視性の設定」をご覧ください。
視程パブリックリポジトリで (パブリックパッケージ) パッケージを公開して、GitHub全体と、もしくはプライベートリポジトリ (プライベートパッケージ) でパッケージを公開して、コラボレータあるいは Organization と共有できます。

GitHub Packages の請求について

GitHub Packagesの利用は、パブリックパッケージについては無料です。 プライベート パッケージについては、GitHub.com の各アカウントは、一定量の無料のストレージとデータ転送を、そのアカウントで使っている製品に応じて受け取ります。 含まれる量を超える使用は、使用制限によって制御されます。 月額料金のお客様の場合、既定のアカウントの料金の上限は 0 米国ドル (USD) になっており、含まれている量に達した後に追加でストレージやデータ転送が利用されないようになっています。 アカウントを請求書で支払っている場合、そのアカウントの既定の使用制限は無制限となります。 詳しくは、「GitHub Packages の請求について」を参照してください。

サポートされているクライアントとフォーマット

GitHub Packagesは、パッケージのバージョンの公開とインストールに、すでにおなじみのネイティブのパッケージツールコマンドを使います。

パッケージレジストリのサポート

Language説明パッケージの形式パッケージクライアント
JavaScriptNodeのパッケージマネージャーpackage.jsonnpm
RubyRubyGemsパッケージマネージャーGemfilegem
JavaApache Mavenのプロジェクト管理及び包括的ツールpom.xmlmvn
JavaJava用のGradleビルド自動化ツールbuild.gradle または build.gradle.ktsgradle
.NET.NET用のNuGetパッケージ管理nupkgdotnet CLI
該当なしDockerコンテナ管理プラットフォームDockerfileDocker

GitHub Packages と使用するようにパッケージ クライアントを構成する方法について詳しくは、「GitHub Packages レジストリの操作」をご覧ください。

Docker と Container registry について詳しくは、「コンテナー レジストリの操作」を参照してください。

GitHub Packages への認証を行う

GitHub Packages では、personal access token (classic)を使用した認証のみがサポートされています。 詳しい情報については、「personal access tokenの作成」を参照してください。

非公開パッケージ、内部パッケージ、公開パッケージを発行、インストール、削除するには、アクセス トークンが必要です。

personal access token (classic) を使って、GitHub Packages または GitHub API の認証を受けることができます。 personal access token (classic) を作成するときは、必要に応じてさまざまなスコープをトークンに割り当てることができます。 personal access token (classic) のパッケージ関連のスコープについて詳しくは、「GitHub パッケージのアクセス許可について」をご覧ください。

GitHub Actionsワークフロー内でGitHub Packagesレジストリに認証を受けるには、以下の方法が使えます。

  • GITHUB_TOKEN では、ワークフロー リポジトリに関連付けられているパッケージを発行します。
  • read:packages 以上のスコープが設定された personal access token (classic) では、他のプライベート リポジトリ (GITHUB_TOKEN ではアクセスできない) に関連付けられているパッケージがインストールされます。

GitHub Actions ワークフローで使用される GITHUB_TOKEN の詳細については、「ワークフローで認証する」を参照してください。

パッケージを管理する

パッケージの削除は、GitHub Enterprise Cloud のユーザー インターフェイス から、もしくは REST API を使って行うことができます。 詳しくは、「パッケージの削除と復元」と「GitHub Packages API」をご覧ください。 特定のレジストリでは、GraphQL を使ってプライベート パッケージのバージョンを削除することができます。

詳細なアクセス許可をサポートするレジストリとともに GitHub Packages GraphQL API を使うことはできません。 リポジトリがスコープされたアクセス許可のみをサポートし、GraphQL API で使用できるレジストリについては、「GitHub Packages のアクセス許可について」をご覧ください。

GraphQL API を使ってプライベート パッケージに対するクエリや削除を行う場合、GitHub Packages の認証に使うのと同じ personal access token (classic) を使わなければなりません。

詳しくは、「GraphQL での呼び出しの作成」をご覧ください。

webhookを設定して、パッケージの公開や更新といったパッケージ関連のイベントにサブスクライブできます。 詳細については、「package webhook イベント」を参照してください。

サポートへの問い合わせ

GitHub Packages に対するフィードバックや機能の要求がある場合は、GitHub Community ディスカッションをお使いください。

次の場合は、お問い合わせフォームを使用して、GitHub Packages について GitHub Support にお問い合わせください。

  • ドキュメンテーションに反する何らかの体験をした時
  • 漠然とした、あるいは不明確なエラーを体験した時
  • GDPR違反、APIキー、個人を識別する情報といったセンシティブなデータを含むパッケージを公開した時