コード パッケージの GitHub パッケージ

完了

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

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

GitHub パッケージに対する認証

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

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

個人用アクセス トークンを生成する

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

Warnung

トークンをパスワードのように扱い、秘密にしておきます。

GitHub パッケージにログインする

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

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

パッケージ エコシステム GitHub パッケージに対する認証を行うコマンド ライン
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 パッケージを使用する方法の詳細については、 こちらのドキュメントを参照してください。

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

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

[パッケージ] ページには、プロジェクト環境に応じて、プロジェクトにインストールする方法に関する情報が表示されます。

パッケージの管理

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

GitHub パッケージは、GitHub API と GraphQL API を使用して管理できます。 これらの API を使用すると、高度な統合シナリオをサポートできます。 たとえば、GitHub の Webhook 機能を使用すると、新しいパッケージが発行されたときにコードを実行できます。 オープンソース プロジェクトのメンテナーだとします。 Webhook を使用すると、新しいパッケージが発行されたときに、新しいツイートまたはブログ投稿を自動的に発行できます。

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