Azure ArtifactsのNuGet認証を手動で追加する
Azure Artifacts は Azure DevOps のパッケージ管理サービスです。自分で作ったライブラリをパブリック、プライベート問わず公開することができます。
Azure Artifacts をプライベートの NuGet サーバーとして使用するには NuGet.Config に認証情報を持たせる必要があります。コマンドラインからサクッと設定できるので、やり方のメモです。
PAT 取得
Azure Artifacts に対して NuGet の認証を通すには PAT (Personal Access Token) が必要です。 Azure DevOps の個人設定ページから取得します。PAT を取得、管理するページを開くには Azure DevOps 画面右上の個人アイコンの中にある Security をクリックします。
PAT の追加、管理ページを開いたら画面上部にある追加ボタンを押します。
表示された PAT 追加オプション画面でスコープに Packaging: Read & write のみにチェックを入れて作成します。名前は適当に NuGet@PC名
、期限はカスタムに設定して最大(1年)にしておくと分かりやすいし更新頻度が少なくなって便利です。
作成後の画面に表示されたトークンをメモ帳か何かにコピーしておきます。この画面を閉じてしまうと二度とトークンは表示されません。
NuGet コマンドラインの取得
Azure Artifacts の認証管理は Windows ではコマンドプロンプト、 Mac / Linux ではターミナルから nuget
コマンドを利用して行います。まだ取得していない場合はサクッと取得しましょう。
Windows の場合 Chocolatey を利用する方法もあります。 Chocolatey がインストールされている環境では choco install nuget.commandline
で NuGet コマンドラインがインストールされます。
また macOS の場合は homebrew が利用できます。 brew install nuget
で NuGet コマンドラインをインストールできます。
NuGet フィード情報の取得
NuGet 認証を設定するには、まずどのフィードに対する認証にするのか、フィードの URL を取得します。 Azure DevOps でどれかプロジェクトを開き、ナビゲーションの一番下にある Artifacts をクリックします。そして表示されるフィードの中から認証を通すフィードを選択し、 Connect to feed ボタンをクリックします。
次に、表示されたフィード接続情報の中から Add this feed に記載されている文字列をメモ帳にコピーします。
NuGet 認証の設定
コマンドプロンプトまたはターミナルを開き、先ほど取得した PAT とフィードの情報を元にコマンドを実行して認証情報を設定します。
nuget.exe sources Add -Name "Sample" -Source "https://xxx.pkgs.visualstudio.com/_packaging/yyy/nuget/v3/index.json" -UserName $UserName$ -Password $PAT$ -StorePasswordInClearText
NuGet フィード情報の取得で取得したコマンドに3つのオプションを追加して実行します。 -UserName
に Azure DevOps のユーザー名、 -Password
に取得した PAT をそのまま、そして -StorePasswordInClearText
の3つです。実行するとグローバルの NuGet.Config に認証情報が保存されます。