Azure Artifacts を使用して NuGet パッケージを発行およびダウンロードする

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

Azure Artifacts を使用すると、開発者はフィードまたはパブリック レジストリから NuGet パッケージを発行してダウンロードできます。 フィードはプライベートにすることも、特定のユーザーとパッケージを共有したり、パブリックにしたりして、インターネット上のすべてのユーザーがパッケージにアクセスできるようにすることもできます。

この記事では、フィードの作成、プロジェクトの構成、NuGet パッケージの発行とダウンロードについて説明します。

前提条件

製品 必要条件
Azure DevOps - Azure DevOps 組織
- Azure DevOps プロジェクト
- nuget.exe バージョン 4.8.0.5385 以降をダウンロードしてインストールします。 キャンセルとタイムアウトに関する重要なバグ修正を含む NuGet 5.5.x 以降をお勧めします。

Azure Artifacts資格情報プロバイダーを設定する

Azure Artifacts資格情報プロバイダーを使用すると、Azure Artifacts フィードへのセキュリティで保護された認証が可能になります。 nuget.exeで使用するには、まず NuGet のプラグイン検索パスに追加する必要があります。 詳細については、「 プラグインのインストールと検出」を参照してください。 プラグインが追加されたら、オペレーティング システムのインストール手順に従います。

Azure Artifacts資格情報プロバイダーをインストールするには、次のいずれかの方法を使用します。

手動インストール

  1. 最新の Microsoft.NetFx48.NuGet.CredentialProvider.zip リリースをダウンロードします。

  2. ZIP ファイルを抽出します。

  3. 抽出したアーカイブからnetfx%UserProfile%/.nuget/plugins/ フォルダーをコピーします。 nuget.exe の互換性のためには、 netfx フォルダーが必要です。

ヘルパー スクリプトを使用してインストールする

または、自動化されたヘルパー スクリプトを使用して、合理化されたインストールを行うことができます。 PowerShell 5.1 以降があることを確認し、次を実行します。

iex "& { $(irm https://aka.ms/install-artifacts-credprovider.ps1) } -AddNetfx"

詳細については、Azure Artifacts Credential Provider リポジトリを参照してください。

フィードを作成する

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

  2. [Artifacts] を選択し、[フィード の作成] を選択します。

  3. フィードに Name を指定し、パッケージを表示できるユーザーを定義する Visibility オプションを選択し、一般的なパブリック ソースからのパッケージを含めるか確認しますnuget.orgnpmjs.comなどのソースからのパッケージを含める場合、および Scope では、フィードのスコープをプロジェクトと組織全体のどちらにするかを決定します。

  4. 完了したら [作成] を選択します。

    Azure DevOps Services で新しいフィードを作成するための選択を示すスクリーンショット。

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

  2. [Artifacts] を選択し、[フィード の作成] を選択します。

  3. フィードに Name を指定し、パッケージを表示できるユーザーを定義する Visibility オプションを選択し、一般的なパブリック ソースからのパッケージを含めるか確認しますnuget.orgnpmjs.comなどのソースからのパッケージを含める場合、および Scope では、フィードのスコープをプロジェクトと組織全体のどちらにするかを決定します。

  1. 完了したら [作成] を選択します。

    Azure DevOps 2022 で新しいフィードを作成するための選択を示すスクリーンショット。

既定では、プロジェクトの ビルド サービス(projectName Build Service (orgName) など) には、新しいフィードの作成時に フィードとアップストリーム 閲覧者 (コラボレーター) ロールが割り当てられます。

フィードに接続する

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

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

  3. [フィード に接続]選択し、左側のナビゲーション ウィンドウから [NuGet.exe] を選択します。 Nuget.exeで Azure Artifacts を初めて使用する場合は、前提条件がインストールされていることを確認してください。

  4. Project セットアップ セクションの指示に従って、nuget.config ファイルを設定し、Azure Artifacts フィードに接続します。

    プロジェクトを設定し、Azure DevOps Services でフィードに接続する方法を示すスクリーンショット。

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

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

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

  4. Project セットアップ セクションの指示に従って、nuget.config ファイルを設定し、Azure Artifacts フィードに接続します。

    Azure DevOps Server 2020 および 2022 でプロジェクトを設定し、フィードに接続する方法を示すスクリーンショット。

フィードにパッケージを発行する

フィードにパッケージを発行するには、 フィードパブリッシャー (共同作成者) 以上である必要があります。 詳細については、 権限の管理 を参照してください。

フィードにパッケージを発行するには、次のコマンドを実行します。 ApiKeyパラメーターは必須ですが、任意の文字列を値として使用できます。

nuget.exe push -Source <SOURCE_NAME> -ApiKey key <PACKAGE_PATH>

例示

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

    nuget.exe push -Source https://pkgs.dev.azure.com/myOrganization/MyProject/_packaging/MyFeed/nuget/v3/index.json -ApiKey AZ release/myDemoPackage.1.0.0.nupkg
    
  • 組織スコープのフィード:

    nuget.exe push -Source https://pkgs.dev.azure.com/myOrganization/_packaging/myFeed/nuget/v3/index.json -ApiKey AZ release/myDemoPackage.1.0.0.nupkg
    

ApiKey は必須ですが、Azure Artifacts フィードに公開するときには任意の値を使用できます。

フィードからパッケージをダウンロードする

フィードからパッケージを復元するには、プロジェクト ディレクトリで次のコマンドを実行します。

nuget.exe restore

NuGet パッケージ エクスプローラーを使用したアップストリーム ソースでのパッケージの検索はサポートされていません。