使用 Azure Pipelines 还原 NuGet 包(YAML/经典版)

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

使用 NuGet 包还原,可以安装项目的所有依赖项,而无需将它们存储在源代码管理中。 这可以使开发环境变得更整洁并减小存储库。 可以使用 NuGet 还原任务、NuGet CLI 或 .NET Core CLI 来还原 NuGet 包。 本文将指导你使用经典管道和 YAML 管道还原 NuGet 包。

先决条件

从同一组织中的源还原 NuGet 包

  1. 登录到 Azure DevOps 组织,并导航到你的项目。

  2. 选择管道,然后选择您的管道定义。

  3. 选择编辑,然后将以下代码片段添加到 YAML 管道。

    steps:
    - task: NuGetAuthenticate@1
    
    - task: NuGetToolInstaller@1
      inputs:
        versionSpec: '*'
        checkLatest: true
    
    - script: nuget restore <SOLUTION_PATH>
    

注意

请确保源中启用了 NuGet 库上游。 有关详细信息,请参阅 现有源 中的“启用上游源”。

从另一组织中的源还原 NuGet 包

若要从其他 Azure DevOps 组织中的源还原 NuGet 包,必须先创建个人访问令牌,然后使用它设置 NuGet 服务连接。

创建个人访问令牌

  1. 导航到你的 Azure DevOps 组织,然后选择用户设置>个人访问令牌

    显示如何创建个人访问令牌的屏幕截图。

  2. 使用 Packaging*> 读取范围创建新的个人访问令牌。 复制 PAT,因为需要在以下部分中使用它。

  3. 完成操作后,选择“创建”

    显示如何创建拥有打包读取权限的个人访问令牌的屏幕截图。

创建服务连接

  1. 登录到管道运行所在的 Azure DevOps 组织,然后导航到你的项目。

  2. 导航到项目设置>服务连接

  3. 依次选择新建服务连接NuGet下一步

  4. 选择外部 Azure DevOps Server 作为身份验证方法,然后输入目标源 URL。 粘贴之前创建的个人访问令牌,提供服务连接的名称,并选中授予对所有管道的访问权限(如果适用于你的方案)。

  5. 完成时选择“保存”。

    显示如何创建新的 NuGet 服务连接的屏幕截图。

还原包

  1. 登录到 Azure DevOps 组织,并导航到你的项目。

  2. 选择管道,然后选择您的管道定义。

  3. 选择编辑,然后将以下代码片段添加到 YAML 管道。

    - task: NuGetToolInstaller@1
      inputs:
        versionSpec: '*'
        checkLatest: true
    
    - task: NuGetAuthenticate@1
      inputs:
        nuGetServiceConnections: <SERVICE_CONNECTION_NAME>
    
    - script: |
          nuget.exe restore <SOLUTION_PATH>
      displayName: Restore