コード パッケージの 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 アクションを使用すると、新しいバージョンを発行するときに、パッケージの最も古いバージョンを自動的に排除できます。