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

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.

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

Note: GitHub Packages is currently in beta for GitHub Enterprise Server 2.22. To join the beta for your instance, use the sign-up form.

GitHub Packages について

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

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

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

パッケージの表示

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

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

パッケージレジストリ
ホスト場所1 つのリポジトリに複数のパッケージをホストできます。
権限You can publish packages in a public repository (public packages) to share with everyone on your instance, 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 everyone on your instance, or in a private repository (private packages) to share with collaborators or an organization.

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

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

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

サイト管理者がさまざまなパッケージのタイプを有効化、無効化できるため、your GitHub Enterprise Server instance でサポートされているパッケージのタイプはさまざまです。 詳しい情報については、「Enterprise 向けの GitHub Packages を管理する」を参照してください。

your GitHub Enterprise Server instance が Subdomain Isolation を有効化している場合、パッケージレジストリは PACKAGE-TYPE.HOSTNAME/OWNER/REPOSITORY/IMAGE-NAME をパッケージのホスト URL として使用します。PACKAGE-TYPE は、パッケージの名前空間に置き換えます。 たとえば、Dockerfile は docker.HOSTNAME/OWNER/REPOSITORY/IMAGE-NAME にホストされます。

your GitHub Enterprise Server instance が Subdomain Isolation を無効化している場合、パッケージレジストリは HOSTNAME/_registry/PACKAGE-TYPE/OWNER/REPOSITORY/IMAGE-NAME をパッケージのホスト URL として使用します。 たとえば、Gemfile は HOSTNAME/_registry/rubygems/OWNER/REPOSITORY/IMAGE-NAME にホストされます。HOSTNAME は、GitHub Enterprise Server インスタンスのホスト名に置き換えます。 |

your GitHub Enterprise Server instance で Subdomain Isolation を有効化している場合

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

your GitHub Enterprise Server instance で Subdomain Isolation を無効化している場合

言語説明パッケージフォーマットパッケージクライアントパッケージ名前空間
JavaScriptNodeのパッケージマネージャーpackage.jsonnpmHOSTNAME/_registry/npm/OWNER/REPOSITORY/IMAGE-NAME
RubyRubyGemsパッケージマネージャーGemfilegemHOSTNAME/_registry/rubygems/OWNER/REPOSITORY/IMAGE-NAME
JavaApache Mavenのプロジェクト管理及び包括的ツールpom.xmlmvnHOSTNAME/_registry/maven/OWNER/REPOSITORY/IMAGE-NAME
JavaJava用のGradleビルド自動化ツールbuild.gradle または build.gradle.ktsgradleHOSTNAME/_registry/maven/OWNER/REPOSITORY/IMAGE-NAME
.NET.NET用のNuGetパッケージ管理nupkgdotnet CLIHOSTNAME/_registry/nuget/OWNER/REPOSITORY/IMAGE-NAME

注釈: Subdomain Isolation が無効化されている場合、Docker はサポートされません。

Subdomain Isolation の詳しい情報については、「Subdomain Isolation を有効化する」を参照してください。

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

GitHub Packages への認証を行う

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

To authenticate to GitHub Packages using a GitHub Actions workflow, you must use GITHUB_TOKEN.

パッケージの管理

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

例:

  • リポジトリからパッケージをダウンロードしてインストールするには、トークンはread:packagesスコープを持っていなければならず、ユーザアカウントはそのリポジトリの読み取り権限を持っていなければなりません。
  • GitHub Enterprise Server上の特定バージョンのプライベートパッケージを削除するには、トークンは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 on GitHub Enterprise Server or using the GraphQL API. GraphQL APIを使ってプライベートパッケージに対するクエリや削除を行う場合、GitHub Packagesの認証に使うのと同じトークンを使わなければなりません。 詳しい情報については、「パッケージの削除」と「GraphQLでの呼び出しの作成」を参照してください。

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

サポートへの連絡

GitHub Packages についてサポートが必要な場合は、 サイト管理者に連絡してください。

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.