👋 We've unified all of GitHub's product documentation in one place! Check out the content for REST API, GraphQL API, and Developers. Stay tuned for a blog post later today.


ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

GitHub Packagesについて

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

GitHub PackagesはGitHub Free、GitHub Pro、GitHub FreeのOrganization、GitHub Team、GitHub Enterprise Cloud、GitHub Oneで利用できます。 GitHub Packagesは、レガシーのリポジトリごとのプランを使っているアカウントが所有しているプライベートリポジトリでは利用できません。 詳しい情報については「GitHubの製品」を参照してください。

ここには以下の内容があります:

探していたものは見つけられましたか?

パッケージについて

パッケージは自己完結している再利用可能なソフトウェアで、コード及び現在のバージョン番号、名前、パッケージの依存関係といったメタデータを含みます。パッケージは、他者が利用できるように共通の場所に開発者がまとめたものです。 パッケージは、プロジェクトの開発に共通のフレームワークが必要になったり、コード品質を改善するためにランナーや文法チェッカーを試したり、アプリケーションを駆動するための業界標準の機械学習ツールを導入したりといった、一般的な問題に対するソリューションを利用し、配布することを単純化します。

GitHub Packages について

GitHub Packagesはパッケージホスティングサービスで、GitHubと完全に統合されています。 GitHub Packagesは、ソースコードとパッケージを一カ所にまとめ、統合された権限管理と支払いを提供し、GitHub上でのソフトウェア開発を一元化できるようにします。

パッケージをパブリックリポジトリに公開(パブリックパッケージ)して、GitHubの全員と共有したり、プライベートリポジトリに公開(プライベートパッケージ)してコラボレータやOrganizationと共有したりできます。 パッケージはリポジトリの権限を継承するので、GitHubのロールとTeamを使い、各パッケージをインストールしたり公開したりできる人を制限できます。 リポジトリの読み取り権限を持っている人は、パッケージを依存関係としてプロジェクトにインストールでき、書き込み権限を持っている人は新しいパッケージのバージョンを公開できます。

1つのリポジトリで複数のパッケージをホストし、各パッケージのREADMEを見たり、統計をダウンロードしたり、バージョン履歴を見たりすることで、各パッケージに関する詳しい情報を見ることができます。

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

GitHub Packagesの支払いについて

GitHub Packagesの利用は、パブリックパッケージについては無料です。 プライベートパッケージについては、それぞれのGitHubアカウントは一定量の無料のストレージとデータ転送を、そのアカウントで使っている製品に応じて受け取ります。 デフォルトではアカウントの料金の上限は$0になっており、含まれている量に達した後に追加でストレージやデータ転送が利用されないようになっています。 デフォルトの$0を超えて利用上限を増やしたなら、追加のストレージやデータ転送に対しては利用上限を最大として課金されます。これは過剰分とも呼ばれます。 アカウントのクーポンは、GitHub Packagesの過剰分には適用されません。 詳細は「GitHub Packages の支払いについて」を参照してください。

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

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

現時点で GitHub Packages は以下のクライアント及びフォーマットをサポートしています:

パッケージクライアント言語パッケージフォーマット説明
npmJavaScriptpackage.jsonNodeのパッケージマネージャー
gemRubyGemfileRubyGemsパッケージマネージャー
mvnJavapom.xmlApache Mavenのプロジェクト管理及び包括的ツール
gradleJavabuild.gradle または build.gradle.ktsJava用のGradleビルド自動化ツール
dockerなしDockerfileDockerコンテナ管理プラットフォーム
dotnet CLI.NETnupkg.NET用のNuGetパッケージ管理

GitHub Packagesとの利用のためのパッケージクライアントの設定に関する詳しい情報については「プロジェクトのエコシステムとのGitHub Packagesの利用」を参照してください。

トークンについて

GitHub Packagesでパッケージを公開、インストール、削除するにはアクセストークンが必要です。 GitHub Packagesに直接、あるいはGitHub APIでユーザ名で認証を受けるのに、個人のアクセストークンが利用できます。 GitHub Actionsのワークフローを使って認証するのには、GITHUB_TOKENが利用できます。

個人トークンを作成する際には、必要に応じて様々なスコープをトークンに割り当てできます。 For more information, see "Creating a personal access token" and "Available scopes."

パッケージをインストールあるいは公開するには、適切なスコープを持つトークンを使い、ユーザアカウントがそのリポジトリに対する適切な権限を持っていなければなりません。

例:

  • リポジトリからパッケージをダウンロードしてインストールするには、トークンはread:packagesスコープを持っていなければならず、ユーザアカウントはそのリポジトリの読み取り権限を持っていなければなりません。 リポジトリがプライベートの場合は、トークンはrepoスコープも持っていなければなりません。
  • GitHub上の特定バージョンのプライベートパッケージを削除するには、トークンはdelete:packages及びrepoスコープを持っていなければなりません。 パブリックなパッケージは削除できません。 詳しい情報については「パッケージの削除」を参照してください。
スコープ説明リポジトリの権限
read:packagesGitHub Packagesからのパッケージのダウンロードとインストール読み取り
write:packagesGitHub Packagesへのパッケージのアップロードと公開書き込み
delete:packagesGitHub Packagesからの特定バージョンのプライベートパッケージの削除管理
repoプライベートリポジトリ内の特定パッケージのインストール、アップロード、削除(read:packageswrite:packagesあるいはdelete:packagesと併せて)読み取り、書き込み、あるいは管理

GitHub Actionsワークフローを作成する際には、GITHUB_TOKENを使ってGitHub Packagesにパッケージを公開してインストールでき、個人アクセストークンを保存して管理する必要はありません。 詳しい情報については「GitHub ActionsとのGitHub Packagesの利用」を参照してください。

パッケージの管理

GitHub上で、あるいはGraphQL APIを使ってプライベートパッケージのバージョンを削除できます。 GraphQL APIを使ってプライベートパッケージに対するクエリや削除を行う場合、GitHub Packagesの認証に使うのと同じトークンを使わなければなりません。 For more information, see "Deleting a package" and "Forming calls with GraphQL."

webhookを設定して、パッケージの公開や更新といったパッケージ関連のイベントにサブスクライブできます。 For more information, see the "package webhook event."

サポートへの連絡

GitHub Packagesについてのフィードバックあるいは機能リクエストがある場合は、GitHub Packagesのフィードバックフォームを利用してください。

連絡フォームを使い、GitHub PackagesについてGitHub Supportに連絡してください。

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

探していたものは見つけられましたか?

担当者にお尋ねください

探しているものが見つからなかったでしょうか?

弊社にお問い合わせください