GitHubは5月10日(現地時間)、パッケージ管理サービス「GitHub Package Registry」のベータテストを開始したことを発表しました(公式ブログ、TechCrunch日本版)。
GitHub Package Registryは開発者がソースコードと同時にパブリック/プライベートなパッケージの提供を可能にするサービスで、既存のパッケージ管理ツールと互換性を持ちます。
現在のところJavaScript (npm)、 Java (Maven)、 Ruby (RubyGems)、 .NET (NuGet)、Dockerイメージと互換性を持ち、その他の言語やツールも今後サポート予定です。
リポジトリが複雑な場合、種類の異なる複数のパッケージを公開する事も可能で、WebhookやGitHubのアクションを使用し、パッケージの公開前や公開後のワークフローをカスタマイズすることも可能となっています。
ソースコードとパッケージの管理に単一の資格情報を利用するだけで良くなることから、組織などでパッケージの作成・管理が容易になるほか、ダウンロードの統計情報やパッケージの全履歴のアクセスが開発者に提供されるというメリットもあります。
同サービスは現在クローズドベータテスト期間中で誰でもすぐに利用できるというわけではありませんが、すでに技術ドキュメントも公開されています。
これによると、例えばRubyGemsの場合、以下のコマンドでパッケージを公開することができます。
$ gem push --key github \ --host https://rubygems.pkg.github.com/ORGANIZATION \ YOUR-GEM.gem
使用する場合、Gemfileを次のように修正します。
source "https://rubygems.pkg.github.com/ORGANIZATION" source "https://rubygems.org" gem "rails" gem "GEM NAME"
各パッケージ管理ツールの公式リポジトリに登録するほどではないものの、インターネット経由で手軽にインストールしてもらいたいパッケージを提供したい場合等に便利なサービスとなりそうです。