Azure Artifacts フィードに接続する (NuGet.exe)
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Azure Artifacts を使用すると、開発者は、フィードやパブリック レジストリなど、さまざまなソースから NuGet パッケージを発行およびダウンロードできます。 プライベート Azure Artifacts フィードを使用して、パッケージをチームまたは特定のユーザーとプライベートに共有できます。 さらに、パブリック フィードを作成して、パッケージにパブリックにアクセスできるようにし、インターネット上の誰とでも開いて共有することができます。 この記事では、Azure Artifacts フィードへの接続について説明します。
前提 条件
Azure Artifacts フィード。 まだフィードを作成していない場合は、新しいフィード を作成します。
最新の NuGet バージョン
インストールします。 Azure Artifacts Credential Providerをインストールします。
プロジェクトのセットアップ
Azure DevOps 組織にサインインし、プロジェクトに移動します。
[Artifacts] を選択し、ドロップダウン メニューからフィードを選択します。
[フィードに接続]
選択し、左側のパネルから [ NuGet.exe ] を選択します。NuGet.exeで Azure Artifacts を初めて使用する場合は、前提条件がインストールされていることを確認します。それ以外の場合は、右上隅 [ツール を取得する] を選択してインストールします。
nuget.config ファイルをプロジェクトに追加し、それを csproj または sln ファイルと同じフォルダーに配置して、提供されたスニペットを貼り付けます。 スニペットは次のように構成する必要があります。
プロジェクト スコープのフィード:
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <clear /> <add key="<SOURCE_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" /> </packageSources> </configuration>
組織スコープのフィード:
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <clear /> <add key="<SOURCE_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" /> </packageSources> </configuration>
Azure DevOps サーバーにサインインし、プロジェクトに移動します。
[Artifacts] を選択し、ドロップダウン メニューからフィードを選択します。
[フィードに接続]
選択し、左側のナビゲーション ウィンドウから [ NuGet.exe ] を選択します。Project のセットアップ セクションの手順に従ってフィードに接続します。
Azure DevOps サーバーにサインインし、プロジェクトに移動します。
アーティファクト を選択し、その後、フィードを選択します。
[フィードに接続]
を選択し、左側のナビゲーション ウィンドウから [NuGet ] を選択します。 指定された手順に従って、パッケージ ソース URL を nuget.config ファイルに追加します。
重要
Azure Artifacts Credential Provider には、NuGet 4.8.0.5385
以降が必要です。
最適なパフォーマンスを得るために、Azure Artifacts では、取り消しとタイムアウトに関連する重要なバグ修正が含まれているので、NuGet バージョン 5.5.x
以降を使用することをお勧めします。
レガシ プロジェクトのセットアップ
古いバージョンの NuGet を使用している場合は、次の手順に従ってフィードに接続します。
Azure DevOps 組織にサインインし、プロジェクトに移動します。
[Artifacts] を選択し、ドロップダウン メニューからフィードを選択します。
[フィードに接続]
選択し、左側のパネルから [ NuGet.exe ] を選択します。ソース URL をコピーし、
/v3/index.json
を/v2
に置き換えます。 更新されたソース URL は次のようになります。プロジェクト スコープのフィード:
https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/<PROJECT_NAME>/_packaging/<FEED_NAME>/nuget/v2
組織スコープのフィード:
https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v2
個人用アクセス トークンを作成し、アクセスする適切な組織にスコープを設定し、Packaging (read)、Packaging (read and write)、Packaging (読み取り、書き込み、管理) のいずれかのスコープを選択。
コマンド プロンプト ウィンドウで次のコマンドを実行して、フィード ソースを nuget.config ファイルに追加します。
nuget sources add -name <FEED_NAME> -source <SOURCE_URL> -username <ANY_STRING_BUT_NOT_NULL> -password <YOUR_PERSONAL_ACCESS_TOKEN>
組織が Microsoft Entra ID に接続されている場合は、まず AD 資格情報で認証してから、setapikey コマンドを使用して個人用アクセス トークンを追加する必要があります。
nuget sources add -name <FEED_NAME> -source <SOURCE_URL> -username <AZURE_ACTIVE_DIRECTORY_USERNAME> -password <AZURE_ACTIVE_DIRECTORY_PASSWORD> nuget setapikey <YOUR_PERSONAL_ACCESS_TOKEN> -source <SOURCE_URL>
サービス プリンシパルを使用して NuGet フィードを認証する
サービス プリンシパルを使用して認証するには、まず Artifacts Credential Providerをインストールする必要があります。
次に示すように、ARTIFACTS_CREDENTIALPROVIDER_FEED_ENDPOINTS 環境変数を設定し、フィード URL、サービス プリンシパルのアプリケーション (クライアント) ID、サービス プリンシパル証明書のサブジェクト名またはファイル パスを指定します。 (証明書のサブジェクト名またはファイル パスの間には 1 つだけ必要です)。
PowerShell で、次のコードを入力します。
$env:ARTIFACTS_CREDENTIALPROVIDER_FEED_ENDPOINTS = @'{
"endpointCredentials": [
{
"endpoint": "<FEED_URL>",
"clientId": "<SERVICE_PRINCIPAL_APPLICATION_(CLIENT)_ID>",
"clientCertificateSubjectName": "<SERVICE_PRINCIPAL_CERTIFICATE_NAME>",
"clientCertificateFilePath": "<SERVICE_PRINCIPAL_CERTIFICATE_PATH>"
}
]
}
'@
関連記事
- NuGet パッケージ (NuGet.exe) の発行と復元
- Azure Pipelines を使用して NuGet パッケージを発行する
- NuGet.org のパッケージを使用する