コード パッケージ用 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 を使用する方法の詳細については、このドキュメントを参照してください。
パッケージをインストールする
認証されると、プロジェクトで公開されたパッケージを簡単に使用できます。 各パッケージのホーム ページには、プロジェクト環境に応じて実行するコマンドが表示されます。
パッケージの管理
GitHub Packages には、パッケージのライフサイクルとワークフローを簡単に管理するためのいくつかの方法が用意されています。
GitHub API および GraphQL API を使用して GitHub Packages を管理できます。 これらの API を使用すると、高度な統合シナリオをサポートできます。 たとえば、GitHub の Webhook 機能を使用すると、新しいパッケージが公開されたときにコードを実行できます。 あなたがオープンソース プロジェクトの保守管理者であると想像してください。 Webhook を使用すると、新しいパッケージが公開されたときに、新しいツイートまたはブログ記事を自動的に公開できます。
また、GitHub Actions を使用してパッケージの管理を自動化することもできます。 delete-package-versions アクションを使用すると、新しいバージョンを公開する間に、パッケージの最も古いバージョンを自動的に取り除くことができます。