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

GitHub Packagesについて

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

GitHub Packages is available with GitHub Free, GitHub Pro, GitHub Free for organizations, GitHub Team, GitHub Enterprise Cloud, GitHub Enterprise Server 2.22, and GitHub One.


GitHub Packagesは、レガシーのリポジトリごとのプランを使っているアカウントが所有しているプライベートリポジトリでは利用できません。 GitHub PackagesはGitHub Free、GitHub Pro、GitHub FreeのOrganization、GitHub Team、GitHub Enterprise Cloud、GitHub Oneで利用できます。 For more information, see "[GitHub's products](/articles/github-s-products)."

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

GitHub Packages について

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

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

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

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

注釈: GitHub Container Registry は現在パブリックベータであり、変更されることがあります。 During the beta, storage and bandwidth are free. To use GitHub Container Registry, you must enable the feature preview. For more information, see "About GitHub Container Registry" and "Enabling improved container support."

Diagram showing the GitHub Packages hosting urls for npm, RubyGems, Apache Maven, Gradle, Nuget, and Docker

パッケージの表示

パッケージの README や、ライセンス、ダウンロード統計、バージョン履歴などのメタデータを GitHub 上で確認できます。 詳しい情報については「パッケージの表示」を参照してください。

パッケージの権限と可視性について

パッケージレジストリ
ホスト場所1 つのリポジトリに複数のパッケージをホストできます。
権限You can publish packages in a public repository (public packages) to share with all of GitHub, or in a private repository (private packages) to share with collaborators or an organization. パッケージはリポジトリの権限を継承するので、GitHubのロールとTeamを使い、各パッケージをインストールしたり公開したりできる人を制限できます。 リポジトリの読み取り権限を持っている人は、パッケージを依存関係としてプロジェクトにインストールでき、書き込み権限を持っている人は新しいパッケージのバージョンを公開できます。
可視性You can publish packages in a public repository (public packages) to share with all of GitHub, or in a private repository (private packages) to share with collaborators or an organization.

GitHub Packagesの支払いについて

GitHub Packagesの利用は、パブリックパッケージについては無料です。 プライベートパッケージについては、それぞれのGitHubアカウントは一定量の無料のストレージとデータ転送を、そのアカウントで使っている製品に応じて受け取ります。 Any usage beyond the included amounts is controlled by spending limits. If you are a monthly-billed customer, your account will have a default spending limit of $0, which prevents additional usage of storage or data transfer after you reach the included amounts. If you pay your account by invoice, your account will have an unlimited default spending limit. 詳細は、「GitHub Packagesの支払いについて」を参照してください。

Billing update for container image storage: During the beta phase of GitHub Container Registry, Docker image storage and bandwidth are free for the old docker.pkg.github.com and new ghcr.io hosting services. 詳しい情報については「GitHub Container Registryについて」を参照してください。

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

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

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

パッケージレジストリは、PACKAGE-TYPE.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME をパッケージのホスト URL として使用します。PACKAGE-TYPE は、パッケージの名前空間に置き換えます。 たとえば、Gemfile は rubygems.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME にホストされます。

言語説明パッケージフォーマットパッケージクライアントパッケージ名前空間
JavaScriptNodeのパッケージマネージャーpackage.jsonnpmnpm.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME
RubyRubyGemsパッケージマネージャーGemfilegemrubygems.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME
JavaApache Mavenのプロジェクト管理及び包括的ツールpom.xmlmvnmaven.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME
JavaJava用のGradleビルド自動化ツールbuild.gradle または build.gradle.ktsgradlemaven.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME
.NET.NET用のNuGetパッケージ管理nupkgdotnet CLInuget.pkg.github.com/OWNER/REPOSITORY/IMAGE-NAME

For more information about configuring your package client for use with GitHub Packages, see "Package client guides for GitHub Packages."

For more information about Docker and GitHub Container Registry, see "Container guides for GitHub Packages."

GitHub Packages への認証を行う

GitHub Packagesでパッケージを公開、インストール、削除するにはアクセストークンが必要です。 GitHub Packagesに直接、あるいはGitHub APIでユーザ名で認証を受けるのに、個人のアクセストークンが利用できます。 個人トークンを作成する際には、必要に応じて様々なスコープをトークンに割り当てできます。

To authenticate using a GitHub Actionsのワークフロー:

  • For package registries (PACKAGE-REGISTRY.pkg.github.com), you can use a GITHUB_TOKEN.
  • For the container registry (ghcr.io/OWNER/IMAGE-NAME), you must use a personal access token.

パッケージの管理

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

例:

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

GitHub Actionsワークフローを作成する際には、GITHUB_TOKENを使ってGitHub Packagesにパッケージを公開してインストールでき、個人アクセストークンを保存して管理する必要はありません。

詳しい情報については、以下を参照してください。

  • ドキュメンテーションに反する何らかの体験をした時
  • 個人アクセストークンを作成する
  • GDPR違反、APIキー、個人を識別する情報といったセンシティブなデータを含むパッケージを公開した時

パッケージの管理

You can delete a version of a private package in the GitHub user interface or using the GraphQL API. GraphQL APIを使ってプライベートパッケージに対するクエリや削除を行う場合、GitHub Packagesの認証に使うのと同じトークンを使わなければなりません。 詳しい情報については、「パッケージの削除」と「GraphQLでの呼び出しの作成」を参照してください。

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

サポートへの連絡

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

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

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

Did this doc help you?

Privacy policy

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

OR, learn how to contribute.