NuGet ギャラリーからパッケージを使用する

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure Artifacts アップストリーム ソースを使用すると、開発者は nuget.org や npmjs.com などのパブリック レジストリからパッケージを使用できます。 この記事では、プロジェクトを設定し、コマンド ラインを使用して NuGet ギャラリーから NuGet パッケージを効果的に使用するプロセスについて説明します。 この記事では、次の方法について学習します。

  • フィードのアップストリーム ソースを有効にする
  • NuGet ギャラリーをアップストリーム ソースとして追加する
  • フィードに接続する
  • nuget.org からパッケージをインストールする

前提条件

  • Azure DevOps organizationとプロジェクト。 まだ作成していない場合は、organizationまたはプロジェクトを作成します。

  • Azure Artifacts フィード。

  • NuGet をダウンロード します

  • Azure Artifacts Credential Provider をダウンロードしてインストール します

フィードでアップストリーム ソースを有効にする

フィードをまだ作成していない場合は、次の手順に従って新しいフィードを作成し、アップストリームソースチェックボックスを選択して有効にしてください。 既にフィードがある場合は、次の 手順 に進み、NuGet ギャラリーをアップストリーム ソースとして追加します。

  1. Azure DevOps 組織にサインインしてから、プロジェクトに移動します。

  2. [成果物] を選択し、[フィードの作成] を選択して新しいフィードを作成します。

  3. フィードのわかりやすい 名前 を入力し、その 可視性 を定義します (フィード内でパッケージを表示できるユーザーを示します)。 フィードのスコープ指定し、パブリック ソースのパッケージを含める場合は、[アップストリーム ソース] チェックボックスにマークを付けます。

  4. 終わったら [作成] を選択します。

    Azure DevOps Services で新しいフィードを作成する方法を示すスクリーンショット。

  1. Azure DevOps サーバーにサインインし、プロジェクトに移動します。

  2. [成果物] を選択し、[フィードの作成] を選択して新しいフィードを作成します。

  3. フィードのわかりやすい 名前 を入力し、その 可視性 を定義します (フィード内でパッケージを表示できるユーザーを示します)。 フィードのスコープ指定し、パブリック ソースのパッケージを含める場合は、[アップストリーム ソース] チェックボックスにマークを付けます。

  1. 終わったら [作成] を選択します。

    Azure DevOps 2022 で新しいフィードを作成する方法を示すスクリーンショット。

  1. 終わったら [作成] を選択します。

    Azure DevOps 2020 で新しいフィードを作成する方法を示すスクリーンショット。

  1. Azure DevOps サーバーにサインインし、プロジェクトに移動します。

  2. [成果物] を選択し、[新しいフィード] を選択します

  3. フィードのわかりやすい 名前 を入力し、その 可視性 を定義します (フィード内でパッケージを表示できるユーザーを示します)。 パブリック ソースのパッケージを含める場合は、[このフィードを使用してパブリック ソースのパッケージを使用する] オプションを選択します。

  4. 終わったら [作成] を選択します。

    Azure DevOps 2019 で新しいフィードを作成する方法を示すスクリーンショット。

Note

既定では、新しく作成されたフィードには、プロジェクトのビルド サービスが Feed と Upstream Reader (コラボレーター)設定されています。

フィードを作成するときにアップストリームソースチェックボックスをチェックした場合は、NuGet ギャラリーが自動的に追加されているはずです。 そうでない場合は、次の手順に従って手動で追加します。

  1. Azure DevOps 組織にサインインしてから、プロジェクトに移動します。

  2. [ Artifacts]\(成果物\) を選択し、フィードを選択します。

  3. 歯車アイコン ボタン歯車アイコンを選択してフィード設定移動します。

  4. [アップストリーム ソース] を選択し、[アップストリームの追加] を選択して新しいアップストリーム ソースを追加します。

  5. [パブリック ソース] を選択し、ドロップダウン メニューから [NuGet ギャラリー] を選択します。

  6. 完了したら [保存] を選択し、右上隅にある [もう 1 回保存] を選択して変更を保存します。

  1. Azure DevOps サーバーにサインインし、プロジェクトに移動します。

  2. [ Artifacts]\(成果物\) を選択し、フィードを選択します。

  3. 歯車アイコン ボタン歯車アイコンを選択してフィード設定移動します。

  4. [ アップストリーム ソース] を選択し、[ アップストリームの追加] を選択します。

  5. [パブリック ソース] を選択し、ドロップダウン メニューから [NuGet ギャラリー] を選択します。

  6. 完了したら [保存] を選択し、右上隅にある [もう 1 回保存] を選択して変更を保存します。

  1. Azure DevOps サーバーにサインインし、プロジェクトに移動します。

  2. [ Artifacts]\(成果物\) を選択し、フィードを選択します。

  3. 歯車アイコン ボタン歯車アイコンを選択してフィード設定移動します。

  4. [アップストリーム ソース] を選択し、[アップストリーム ソースの追加] を選択します

  5. [パブリック ソース] を選択し、ドロップダウン メニューから [NuGet ギャラリー] を選択します。

  6. 終了したら [追加] を選択します。

フィードに接続する

  1. Azure DevOps 組織にサインインしてから、プロジェクトに移動します。

  2. [ Artifacts]\(成果物\) を選択し、フィードを選択します。

  3. [ フィードに接続] を選択し、[ NuGet.exe] を選択します。

  4. .csproj または .sln ファイルと同じフォルダーに nuget.config ファイルを追加します。 指定した XML スニペットをファイルに貼り付けます。 次の例を使用する場合は、プレースホルダーを実際のシナリオに適した値に置き換えてください。

    • 組織スコープのフィード:

      <?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>
      
    • プロジェクト スコープ フィード:

      <?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>
      
  1. Azure DevOps サーバーにサインインし、プロジェクトに移動します。

  2. [ Artifacts]\(成果物\) を選択し、フィードを選択します。

  3. [フィードに接続] を選択し、左側のナビゲーション ウィンドウから [NuGet.exe] を選択します。

  4. [Project setup]\(プロジェクトのセットアップ\) セクションの手順に従ってフィードに接続します。

  1. Azure DevOps サーバーにサインインし、プロジェクトに移動します。

  2. [ Artifacts]\(成果物\) を選択し、フィードを選択します。

  3. [フィードに接続] を選択し、左側のナビゲーション ウィンドウから [NuGet] を選択します。

  4. 提供されている手順に従って、パッケージ ソース URL を nuget.config ファイルに追加します。

フィードで認証するようにプロジェクトが構成されたので、NuGet ギャラリーのアップストリームからパッケージのインストールに進むことができます。 この例では、Serilog 診断ログ ライブラリをインストールします。

  1. NuGet ギャラリー https://www.nuget.org/に移動します。

  2. Serilog パッケージを検索し、それを選択して詳細ページに移動します。

  3. [パッケージ マネージャー] タブを選択し、コマンドをコピーします。 この例では、コマンドは次のようになります。

    NuGet\Install-Package Serilog -Version 3.1.2-dev-02097
    
  4. Visual Studio でプロジェクトを開き、[Tools>NuGet パッケージ マネージャー>パッケージ マネージャー Console] を選択してコンソール ウィンドウを開きます。

  5. パッケージ マネージャー コンソール ウィンドウにコマンドを貼り付け、Enter キーを押してパッケージをインストールします。

Note

アップストリームからパッケージを保存するには、フィードおよびアップストリーム 閲覧者 (コラボレーター) ロール以上が必要です。 詳細については、「 アクセス許可の管理」 を参照してください。

保存されたパッケージを表示する

  1. Azure DevOps 組織にサインインしてから、プロジェクトに移動します。
  1. Azure DevOps サーバーにサインインし、プロジェクトに移動します。
  1. [ 成果物] を選択し、ドロップダウン メニューからフィードを選択します。

  2. ドロップダウン メニューから NuGet ギャラリー ソースを選択して、このアップストリームのパッケージをフィルター処理します。

  3. 前の 手順でインストールした Serilog パッケージがフィードで使用できるようになりました。 Azure Artifacts は、インストール コマンドの実行時にフィードにコピーを自動的に保存しました。

    アップストリームから保存されたパッケージを示すスクリーンショット。