次の方法で共有


Azure Artifacts フィードに接続する (dotnet)

Azure DevOps Services |Azure DevOps Server 2022 |Azure DevOps Server 2020

Azure Artifacts を使用すると、開発者はフィードの可視性設定に応じて、フィードにパッケージをシームレスに発行し、プライベートまたはパブリックに共有できます。 このガイドでは、プロジェクトを設定し、Azure Artifacts フィードを使用して認証する手順について説明します。

[前提条件]

製品
Azure DevOps - Azure DevOps 組織
- Azure DevOps プロジェクト
- Azure Artifacts フィード
- Azure Artifacts Credential Providerをダウンロードしてインストールします。
- .NET Core SDK をダウンロードしてインストールします。

フィードに接続する

  1. [ 成果物] を選択し、ドロップダウン メニューからフィードを選択します。

  2. [フィードに接続] を選択し、[NuGet] セクションから dotnet を選択します。

  3. nuget.config ファイルをプロジェクトに追加します。 .csproj または .sln ファイルと同じフォルダーに配置し、Project セットアップ セクションで指定したスニペットを貼り付けます。 nuget.config ファイルは次のようになります。

    • プロジェクト スコープのフィード:

      <?xml version="1.0" encoding="utf-8"?>
      <configuration>
        <packageSources>
          <clear />
          <add key="<FEED_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="<FEED_NAME>" value="https://pkgs.dev.azure.com/<ORGANIZATION_NAME>/_packaging/<FEED_NAME>/nuget/v3/index.json" />
        </packageSources>
      </configuration>
      
  1. Azure DevOps コレクションにサインインし、プロジェクトに移動します。

  2. アーティファクトを選択し、次にドロップダウンメニューからフィードを選択します。

  3. [ フィードに接続] を選択し、左側から dotnet を選択します。

  4. nuget.config ファイルをプロジェクトに追加します。 .csproj または .sln ファイルと同じフォルダーに配置し、Project セットアップ セクションで指定したスニペットを貼り付けます。

    Azure DevOps Server 2020 および 2022 のフィードに接続する方法を示すスクリーンショット。

サービスプリンシパルを使用して認証する

サービス プリンシパルを使用して、Azure Artifacts フィードで認証できます。 これを行うには、次に示すように ARTIFACTS_CREDENTIALPROVIDER_FEED_ENDPOINTS 環境変数を設定します。

この変数では、フィード URL、サービス プリンシパルのアプリケーション (クライアント) ID、証明書のサブジェクト名または証明書ファイルへのパスを定義する必要があります (これら 2 つのうち 1 つだけが必要です)。

$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>"
        }
    ]
}
'@