コード パッケージ用 GitHub Packages

完了

前のユニットでは、GitHub Actions を使用してコンテナー イメージをビルドし、公開する方法を確認しました。

このユニットでは、GitHub Packages でサポートされている他のパッケージを見ていきます。 GitHub Packages は、現在のプロジェクトのエコシステム ツール (npm パッケージの場合は npm、NuGet パッケージの場合は nuget.exe または dotnet CLI など) で機能します。

GitHub Packages に対する認証を行う

パッケージ マネージャーに対する認証方法は、プロジェクトのエコシステムによって異なります。 使用しているエコシステムに関係なく、次の 3 つの情報が必要になります。

  • GitHub ユーザー名
  • 個人用アクセス トークン
  • パッケージ エコシステムの GitHub Packages エンドポイント

個人用アクセス トークンの生成

パッケージをインストール、公開または削除するには、アクセス トークンが必要です。 パッケージ マネージャーを使用する場合、個人用アクセス トークン (PAT) を生成する必要があります。 PAT を生成するには、自分のプロファイル設定を使用します。

警告

トークンはパスワードと同様に取り扱い、秘密にしてください。

GitHub Packages にログインする

GitHub Packages からパッケージを公開またはインストールする前に、パッケージ マネージャーで認証を行う必要があります。 エンドポイントは https://PACKAGE_TYPE.pkg.github.com/OWNER/REPOSITORY のようになります。PACKAGE_TYPE は使っているパッケージ エコシステムの種類です。

次の表には、パッケージ エコシステムに基づく GitHub Packages に対する認証のために実行するコマンドが示されています。

ご利用のパッケージ エコシステム GitHub Packages への認証を行うコマンド ライン
NuGet dotnet nuget add source https://nuget.pkg.github.com/OWNER/index.json -n github -u OWNER -p [Your PAT Token]
npm bash npm login --registry=https://npm.pkg.github.com
RubyGems echo ":github: Bearer GH_TOKEN" >> ~/.gem/credentials
Maven & Gradle プッシュ中に直接認証することができます。

ご利用のプロジェクトの環境で GitHub Packages を使用する方法の詳細については、このドキュメントを参照してください

パッケージをインストールする

認証されると、プロジェクトで公開されたパッケージを簡単に使用できます。 各パッケージのホーム ページには、プロジェクト環境に応じて実行するコマンドが表示されます。

A Package page displays information about how to install it into your project, depending on the project environment.

パッケージの管理

GitHub Packages には、パッケージのライフサイクルとワークフローを簡単に管理するためのいくつかの方法が用意されています。

GitHub API および GraphQL API を使用して GitHub Packages を管理できます。 これらの API を使用すると、高度な統合シナリオをサポートできます。 たとえば、GitHub の Webhook 機能を使用すると、新しいパッケージが公開されたときにコードを実行できます。 あなたがオープンソース プロジェクトの保守管理者であると想像してください。 Webhook を使用すると、新しいパッケージが公開されたときに、新しいツイートまたはブログ記事を自動的に公開できます。

また、GitHub Actions を使用してパッケージの管理を自動化することもできます。 delete-package-versions アクションを使用すると、新しいバージョンを公開する間に、パッケージの最も古いバージョンを自動的に取り除くことができます。