GitHub Packagesの紹介

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

GitHub PackagesはGitHub Free、GitHub Pro、GitHub FreeのOrganization、GitHub Team、GitHub Enterprise Cloud、GitHub Enterprise Server、GitHub AEで利用できます。

GitHub Packages について

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

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

GitHub Packagesは、nmp、RubyGems、Apache Maven、Gradle、Docker、NuGetといった、広く使われているパッケージマネージャーに対する様々なパッケージレジストリを提供しています。 GitHub Packagesがサポートする様々なパッケージレジストリに関する詳しい情報については「GitHub Packagesレジストリの利用」を参照してください。

Dockerレジストリ、RubyGems、npm、Apache Maven、Gradle、Nuget、Dockerに対するパッケージサポートを示す図

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

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

権限
それぞれのパッケージは、ホストされているリポジトリの権限を継承します。

たとえば、リポジトリの読み取り権限を持つ人であれば、プロジェクトに依存関係としてパッケージをインストールでき、書き込み権限を持つ人であれば、新しいパッケージバージョンを公開できます。
可視性パブリックリポジトリで(パブリックパッケージ)パッケージを公開して、Enterpriseの全員と、もしくはプライベートリポジトリ(プライベートパッケージ)でパッケージを公開して、コラボレータあるいはOrganizationと共有できます。

詳しい情報については「GitHub Packagesの権限について」を参照してください。

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

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

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

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

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

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

GitHub Packagesと使うためのパッケージクライアントの設定に関する詳しい情報については「GitHub Packagesレジストリの利用」を参照してください。

GitHub Packages への認証を行う

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

GitHub Packages、あるいはGitHub APIで認証を受けるのに、個人のアクセストークン(PAT)が利用できます。 個人トークンを作成する際には、必要に応じて様々なスコープをトークンに割り当てできます。 PATに関するパッケージ関連のスコープについての詳しい情報は、「GitHub Packagesの権限について」を参照してください。

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

  • GITHUB_TOKENを使って、ワークフローリポジトリに関連づけられたパッケージを公開。
  • PATで他のプライベートリポジトリ(これにはGITHUB_TOKENがアクセスできない)に関連づけられたパッケージをインストール。

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

パッケージの管理

プライベートパッケージのバージョンは、GitHub Enterprise Server上で、またはGraphQL APIを使って削除できます。

GraphQL APIを使ってプライベートパッケージに対するクエリや削除を行う場合、GitHub Packagesの認証に使うのと同じトークンを使わなければなりません。 詳しい情報については、 「パッケージを削除する」および「"GraphQLでの呼び出しの作成」を参照してください。

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

サポートへの連絡

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

このドキュメントは役立ちましたか?

プライバシーポリシー

これらのドキュメントを素晴らしいものにするのを手伝ってください!

GitHubのすべてのドキュメントはオープンソースです。間違っていたり、はっきりしないところがありましたか?Pull Requestをお送りください。

コントリビューションを行う

OR, コントリビューションの方法を学んでください。

問題がまだ解決していませんか?