Azure DevOps Services |Azure DevOps Server 2022 および Azure DevOps Server 2019
NuGet パッケージの復元を使用すると、ソース管理に保存する必要なく、プロジェクトのすべての依存関係をインストールできます。 これにより、開発環境をよりクリーンにし、リポジトリのサイズを縮小することができます。 NuGet パッケージは、NuGet の復元タスク、NuGet CLI、または .NET Core CLI を使用して復元できます。 この記事では、クラシック パイプラインと YAML パイプラインの両方を使用して NuGet パッケージを復元する方法について説明します。
前提条件
新しいフィードを作成します (ない場合)。
セルフホステッド エージェントを使用している場合は、.NET Core SDK (2.1.400 以降) と NuGet (4.8.0.5385 以降) がインストールされていることを確認します。
注
Ubuntu 24.04 以降を使用している場合は、nuget.exeではなく.NET CLI で NuGetAuthenticate
タスクを使用 する必要があります。 詳細については、Ubuntu でホストされる新しいイメージ のサポートに関するページを参照してください。
同じ組織内のフィードから NuGet パッケージを復元する
Azure DevOps 組織にサインインしてから、プロジェクトに移動します。
[パイプライン] を選択し、使用するパイプライン定義を選択します。
[編集] を選択し、次のスニペットを YAML パイプラインに追加します。
steps: - task: NuGetAuthenticate@1 - task: NuGetToolInstaller@1 inputs: versionSpec: '*' checkLatest: true - script: nuget restore <SOLUTION_PATH> ## If you're using Ubuntu 24.04 or later, use the following command instead: dotnet restore <SOLUTION_PATH>
注
フィードで NuGet ギャラリーのアップストリームが有効になっていることを確認します。 詳細については、「既存フィード内のアップストリーム ソースを有効化する」を参照してください。
別の組織内のフィードから NuGet パッケージを復元する
別の Azure DevOps 組織のフィードから NuGet パッケージを復元するには、まず個人用アクセス トークンを作成してから、それを使用して NuGet サービス接続を設定する必要があります。
個人用アクセス トークンを作成する
Azure DevOps 組織に移動して、[ユーザー設定]>[個人用アクセス トークン] の順に選択します。
[パッケージング]* >[読み取り] スコープで、新しい個人用アクセス トークンを作成します。 次のセクションで必要になるため、PAT をコピーします。
完了したら [作成] を選択します。
サービス接続を作成する
パイプラインを実行する Azure DevOps 組織にサインインし、プロジェクトに移動します。
[プロジェクト設定]>[サービス接続] に移動します。
[新しいサービス接続]、[NuGet]、[次へ] の順に選択します。
[認証方法] として [外部の Azure DevOps Server] を選択し、ターゲットの [フィード URL] を入力します。 先ほど作成した個人用アクセス トークンを貼り付け、サービス接続の名前を指定して、シナリオに該当する場合は [すべてのパイプラインへのアクセス許可を与える] をオンにします。
完了したら、 [保存] を選択します。
パッケージの復元
Azure DevOps 組織にサインインしてから、プロジェクトに移動します。
[パイプライン] を選択し、使用するパイプライン定義を選択します。
[編集] を選択し、次のスニペットを YAML パイプラインに追加します。
- task: NuGetToolInstaller@1 inputs: versionSpec: '*' checkLatest: true - task: NuGetAuthenticate@1 inputs: nuGetServiceConnections: <SERVICE_CONNECTION_NAME> - script: nuget.exe restore <SOLUTION_PATH> ## If you're using Ubuntu 24.04 or later, use the following command instead: dotnet restore <SOLUTION_PATH>