Azure Pipelines を使って NuGet パッケージを NuGet.org に発行する
開発者は、Azure Pipelines を使って、NuGet パッケージをフィードとパブリック レジストリに発行するプロセスを効率化できます。 このチュートリアルでは、YAML とクラシック パイプラインを利用して NuGet パッケージを NuGet.org に発行する方法について説明します。この記事では、次の方法について説明します。
- NuGet.org で認証します。
- サービス接続を作成します。
- パッケージを NuGet.org に発行します。
前提条件
Azure DevOps 組織とプロジェクト。 まだ持っていない場合は、無料で 1 つ作成します。
- Azure DevOps プロジェクト内のサービス接続管理者ロール。
nuget.org アカウント。
API キーの作成
NuGet.org に移動し、アカウントにサインインします。
ユーザー名アイコンを選び、[API キー] を選びます。
[作成] を選んで、キーの名前を指定します。 [新しいパッケージとパッケージのバージョンのプッシュ] スコープをキーに割り当て、[glob パターン] フィールドに「
*
」と入力してすべてのパッケージを含めます。完了したら [作成] を選択します。
[コピー] を選び、API キーを安全な場所に保存します。
サービス接続を作成する
Azure DevOps 組織
https://dev.azure.com/<Your_Organization>
にサインインしてから、プロジェクトに移動します。ページの左下隅にある プロジェクト設定 を選択します。
[NuGet] を選び、[次へ] を選びます。
認証方法として [ApiKey] を選び、[フィード URL] を次のように設定します。
https://api.nuget.org/v3/index.json
。前に生成した ApiKey を [ApiKey] フィールドに入力し、サービス接続の名前を指定します。
[すべてのパイプラインへのアクセス許可を与える] チェック ボックスをオンにし、完了したら [保存] を選びます。 このオプションを選択するには、サービス接続管理者ロールが必要です。
パッケージの公開
Azure DevOps 組織
https://dev.azure.com/<Your_Organization>
にサインインしてから、プロジェクトに移動します。[パイプライン] を選択し、使用するパイプラインを選択します。 [編集] を選ぶと、パイプラインを編集できます。
+ を選んで新しいタスクを追加し、.NET Core タスクを検索します。 [追加] を選んでパイプラインに追加します。
コマンドのドロップダウン メニューから pack コマンドを選び、パックする csproj または nuspec ファイルへのパスを選びます。 シナリオに応じて、他のフィールドの既定値を保持できます。
+ を選んで新しいタスクを追加し、NuGet タスクを検索します。 [追加] を選んでパイプラインに追加します。
コマンドのドロップダウン メニューから push コマンドを選び、発行する NuGet パッケージへのパスを選びます。
[ターゲット フィードの場所] で [外部 NuGet サーバー] を選びます。 次に、[NuGet サーバー] フィールドで、前に作成したサービス接続を選びます。
完了したら、nuget.org の [パッケージ] ページにアクセスします。最近発行したパッケージがこのページの一番上に表示されています。