UniversalPackages@0 - 通用包 v0 任务

使用此任务下载、打包和发布通用包。

语法

# Universal packages v0
# Download or publish Universal Packages.
- task: UniversalPackages@0
  inputs:
    command: 'download' # 'download' | 'publish'. Required. Command. Default: download.
    downloadDirectory: '$(System.DefaultWorkingDirectory)' # string. Required when command = download. Destination directory. Default: $(System.DefaultWorkingDirectory).
    #publishDirectory: '$(Build.ArtifactStagingDirectory)' # string. Required when command = publish. Path to file(s) to publish. Default: $(Build.ArtifactStagingDirectory).
  # Feed & package details
    feedsToUse: 'internal' # 'internal' | 'external'. Alias: internalOrExternalDownload. Required when command = download. Feed location. Default: internal.
    #externalFeedCredentials: # string. Alias: externalEndpoint. Optional. Use when internalOrExternalDownload = external && command = download. organization/collection connection. 
    #vstsFeed: # string. Alias: feedListDownload. Required when internalOrExternalDownload = internal && command = download. Feed. 
    #vstsFeedPackage: # string. Alias: packageListDownload. Required when internalOrExternalDownload = internal && command = download. Package name. 
    #vstsPackageVersion: # string. Alias: versionListDownload. Required when internalOrExternalDownload = internal && command = download. Version. 
    #feedDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Feed (or Project/Feed if the feed was created in a project). 
    #packageDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Package name. 
    #versionDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Version. 
  # Feed & package details
    #feedsToUsePublish: 'internal' # 'internal' | 'external'. Alias: internalOrExternalPublish. Required when command = publish. Feed location. Default: internal.
    #publishFeedCredentials: # string. Alias: externalEndpoints. Required when internalOrExternalPublish = external && command = publish. organization/collection connection. 
    #vstsFeedPublish: # string. Alias: feedListPublish. Required when internalOrExternalPublish = internal && command = publish. Destination Feed. 
    #vstsFeedPackagePublish: # string. Alias: packageListPublish. Required when internalOrExternalPublish = internal && command = publish. Package name. 
    #feedPublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Feed (or Project/Feed if the feed was created in a project). 
    #packagePublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Package name. 
    #versionOption: 'patch' # 'major' | 'minor' | 'patch' | 'custom'. Alias: versionPublishSelector. Required when command = publish. Version. Default: patch.
    #versionPublish: # string. Required when versionPublishSelector = custom && command = publish. Custom version. 
    #packagePublishDescription: # string. Optional. Use when command = publish. Description. 
  # Advanced
    #publishPackageMetadata: true # boolean. Optional. Use when command = publish && internalOrExternalPublish = internal. Publish pipeline metadata. Default: true.
    #verbosity: 'None' # 'None' | 'Trace' | 'Debug' | 'Information' | 'Warning' | 'Error' | 'Critical'. Verbosity. Default: None.
  # Output
    #publishedPackageVar: # string. Optional. Use when command = publish. Package Output Variable.
# Universal packages v0
# Download or publish Universal Packages.
- task: UniversalPackages@0
  inputs:
    command: 'download' # 'download' | 'publish'. Required. Command. Default: download.
    downloadDirectory: '$(System.DefaultWorkingDirectory)' # string. Required when command = download. Destination directory. Default: $(System.DefaultWorkingDirectory).
    #publishDirectory: '$(Build.ArtifactStagingDirectory)' # string. Required when command = publish. Path to file(s) to publish. Default: $(Build.ArtifactStagingDirectory).
  # Feed & package details
    feedsToUse: 'internal' # 'internal' | 'external'. Alias: internalOrExternalDownload. Required when command = download. Feed location. Default: internal.
    #externalFeedCredentials: # string. Alias: externalEndpoint. Optional. Use when internalOrExternalDownload = external && command = download. organization/collection connection. 
    #vstsFeed: # string. Alias: feedListDownload. Required when internalOrExternalDownload = internal && command = download. Feed. 
    #vstsFeedPackage: # string. Alias: packageListDownload. Required when internalOrExternalDownload = internal && command = download. Package name. 
    #vstsPackageVersion: # string. Alias: versionListDownload. Required when internalOrExternalDownload = internal && command = download. Version. 
    #feedDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Feed. 
    #packageDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Package name. 
    #versionDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Version. 
  # Feed & package details
    #feedsToUsePublish: 'internal' # 'internal' | 'external'. Alias: internalOrExternalPublish. Required when command = publish. Feed location. Default: internal.
    #publishFeedCredentials: # string. Alias: externalEndpoints. Required when internalOrExternalPublish = external && command = publish. organization/collection connection. 
    #vstsFeedPublish: # string. Alias: feedListPublish. Required when internalOrExternalPublish = internal && command = publish. Destination Feed. 
    #vstsFeedPackagePublish: # string. Alias: packageListPublish. Required when internalOrExternalPublish = internal && command = publish. Package name. 
    #feedPublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Feed. 
    #packagePublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Package name. 
    #versionOption: 'patch' # 'major' | 'minor' | 'patch' | 'custom'. Alias: versionPublishSelector. Required when command = publish. Version. Default: patch.
    #versionPublish: # string. Required when versionPublishSelector = custom && command = publish. Custom version. 
    #packagePublishDescription: # string. Optional. Use when command = publish. Description. 
  # Advanced
    #publishPackageMetadata: true # boolean. Optional. Use when command = publish && internalOrExternalPublish = internal. Publish pipeline metadata. Default: true.
    #verbosity: 'None' # 'None' | 'Trace' | 'Debug' | 'Information' | 'Warning' | 'Error' | 'Critical'. Verbosity. Default: None.
  # Output
    #publishedPackageVar: # string. Optional. Use when command = publish. Package Output Variable.
# Universal Packages v0
# Download or publish Universal Packages.
- task: UniversalPackages@0
  inputs:
    command: 'download' # 'download' | 'publish'. Required. Command. Default: download.
    downloadDirectory: '$(System.DefaultWorkingDirectory)' # string. Required when command = download. Destination directory. Default: $(System.DefaultWorkingDirectory).
    #publishDirectory: '$(Build.ArtifactStagingDirectory)' # string. Required when command = publish. Path to file(s) to publish. Default: $(Build.ArtifactStagingDirectory).
  # Feed & package details
    feedsToUse: 'internal' # 'internal' | 'external'. Alias: internalOrExternalDownload. Required when command = download. Feed location. Default: internal.
    #externalFeedCredentials: # string. Alias: externalEndpoint. Optional. Use when internalOrExternalDownload = external && command = download. Account/collection connection. 
    #vstsFeed: # string. Alias: feedListDownload. Required when internalOrExternalDownload = internal && command = download. Feed. 
    #vstsFeedPackage: # string. Alias: packageListDownload. Required when internalOrExternalDownload = internal && command = download. Package name. 
    #vstsPackageVersion: # string. Alias: versionListDownload. Required when internalOrExternalDownload = internal && command = download. Version. 
    #feedDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Feed. 
    #packageDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Package name. 
    #versionDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Version. 
  # Feed & package details
    #feedsToUsePublish: 'internal' # 'internal' | 'external'. Alias: internalOrExternalPublish. Required when command = publish. Feed location. Default: internal.
    #publishFeedCredentials: # string. Alias: externalEndpoints. Required when internalOrExternalPublish = external && command = publish. Account/collection connection. 
    #vstsFeedPublish: # string. Alias: feedListPublish. Required when internalOrExternalPublish = internal && command = publish. Destination Feed. 
    #vstsFeedPackagePublish: # string. Alias: packageListPublish. Required when internalOrExternalPublish = internal && command = publish. Package name. 
    #feedPublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Feed. 
    #packagePublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Package name. 
    #versionOption: 'patch' # 'major' | 'minor' | 'patch' | 'custom'. Alias: versionPublishSelector. Required when command = publish. Version. Default: patch.
    #versionPublish: # string. Required when versionPublishSelector = custom && command = publish. Custom version. 
    #packagePublishDescription: # string. Optional. Use when command = publish. Description. 
  # Advanced
    #verbosity: 'None' # 'None' | 'Trace' | 'Debug' | 'Information' | 'Warning' | 'Error' | 'Critical'. Verbosity. Default: None.

输入

command - 命令
string. 必需。 允许的值:downloadpublish。 默认值:download

指定要运行的 NuGet 命令。


downloadDirectory - 目标目录
string. 当 command = download 时,需要此选项。 默认值:$(System.DefaultWorkingDirectory)

指定任务下载包内容的文件夹路径。


feedsToUse - 源位置
输入别名: internalOrExternalDownloadstring. 当 command = download 时,需要此选项。 允许的值: internal (此组织/集合) , external (另一个组织/集合) 。 默认值:internal

指定来自此集合或 Azure Artifacts 中另一个集合的源。


feedsToUse - 源位置
输入别名: internalOrExternalDownloadstring. 当 command = download 时,需要此选项。 允许的值: internal (此帐户/集合) , external (另一个帐户/集合) 。 默认值:internal

指定来自此集合或 Azure Artifacts 中另一个集合的源。


externalFeedCredentials - 组织/集合连接
输入别名: externalEndpointstring. 可选。 在 时 internalOrExternalDownload = external && command = download使用 。

指定要用于位于所选 NuGet.config中的外部注册表的凭据。 对于此组织或集合中的源,请将此留空;将自动使用生成的凭据。


externalFeedCredentials - 帐户/集合连接
输入别名: externalEndpointstring. 可选。 在 时 internalOrExternalDownload = external && command = download使用 。

指定要用于位于所选 NuGet.config中的外部注册表的凭据。 对于此组织或集合中的源,请将此留空;将自动使用生成的凭据。


vstsFeed - 饲料
输入别名: feedListDownloadstring. 当 internalOrExternalDownload = internal && command = download 时,需要此选项。

包括所选源。 必须安装 Azure Artifacts 并授权才能在此处选择源。 为组织范围的 源指定 FeedName ,为项目范围的源指定 projectName/FeedNameProjectID/FeedID


vstsFeedPackage - 包名称
输入别名: packageListDownloadstring. 当 internalOrExternalDownload = internal && command = download 时,需要此选项。

指定要下载的任务的包的名称。


vstsPackageVersion - 版本
输入别名: versionListDownloadstring. 当 internalOrExternalDownload = internal && command = download 时,需要此选项。

指定包版本或使用包含要下载的版本的变量。 此条目也可以是通配符表达式,例如 *,以获取最高版本。 示例: 1.* 获取具有主版本 1 的最高版本,并 1.2.* 获取具有主版本 1 和次要版本 2 的最高修补程序版本。


feedDownloadExternal - 源 (或项目/源(如果源是在项目中创建的)
string. 当 internalOrExternalDownload = external && command = download 时,需要此选项。

指定另一个组织/集合中的源。

对于项目范围的源,该值应为 Project/Feed,其中 Project 是项目的名称或 ID,是 Feed 源的名称/ID。 对于组织范围的源,该值应仅为源名称。


feedDownloadExternal - 饲料
string. 当 internalOrExternalDownload = external && command = download 时,需要此选项。

指定另一个组织/集合中的源。

对于项目范围的源,该值应为 Project/Feed,其中 Project 是项目的名称或 ID,是 Feed 源的名称/ID。 对于组织范围的源,该值应仅为源名称。


packageDownloadExternal - 包名称
string. 当 internalOrExternalDownload = external && command = download 时,需要此选项。

指定要下载的包名称。


versionDownloadExternal - 版本
string. 当 internalOrExternalDownload = external && command = download 时,需要此选项。

指定包版本或使用包含要下载的版本的变量。 此条目也可以是通配符表达式,例如 *,以获取最高版本。 示例: 1.* 获取具有主版本 1 的最高版本,并 1.2.* 获取具有主版本 1 和次要版本 2 的最高修补程序版本。 预发行包不支持通配符模式。


publishDirectory - 要发布的文件 () 的路径
string. 当 command = publish 时,需要此选项。 默认值:$(Build.ArtifactStagingDirectory)

指定要发布的文件列表的路径。


feedsToUsePublish - 源位置
输入别名: internalOrExternalPublishstring. 当 command = publish 时,需要此选项。 允许的值: internal (此组织/集合) , external (另一个组织/集合) 。 默认值:internal

指定来自此集合或 Azure Artifacts 中另一个集合的源。


feedsToUsePublish - 源位置
输入别名: internalOrExternalPublishstring. 当 command = publish 时,需要此选项。 允许的值: internal (此帐户/集合) , external (另一个帐户/集合) 。 默认值:internal

指定来自此集合或 Azure Artifacts 中另一个集合的源。


publishFeedCredentials - 组织/集合连接
输入别名: externalEndpointsstring. 当 internalOrExternalPublish = external && command = publish 时,需要此选项。

指定要用于外部源的凭据。


publishFeedCredentials - 帐户/集合连接
输入别名: externalEndpointsstring. 当 internalOrExternalPublish = external && command = publish 时,需要此选项。

指定要用于外部源的凭据。


vstsFeedPublish - 目标源
输入别名: feedListPublishstring. 当 internalOrExternalPublish = internal && command = publish 时,需要此选项。

指定要发布到的项目和源的名称/GUID。


publishPackageMetadata - 发布管道元数据
boolean. 可选。 在 时 command = publish && internalOrExternalPublish = internal使用 。 默认值:true

将此生成/发布管道的元数据 ((如运行 # 和源代码信息)) 与包相关联。


vstsFeedPackagePublish - 包名称
输入别名: packageListPublishstring. 当 internalOrExternalPublish = internal && command = publish 时,需要此选项。

指定要发布的包 ID,如果以前从未发布过此包的版本,则创建新的包 ID。 包名称必须为小写,并且只能使用字母、数字和短划线 (-) 。


feedPublishExternal - 源 (或项目/源(如果源是在项目中创建的)
string. 当 internalOrExternalPublish = external && command = publish 时,需要此选项。

指定要发布到的外部源名称。

如果源是在项目中创建的,则该值应为 Project/Feed,其中 Project 是项目的名称或 ID,是 Feed 源的名称。 如果未在项目中创建源,则该值应仅为源名称。


feedPublishExternal - 饲料
string. 当 internalOrExternalPublish = external && command = publish 时,需要此选项。

指定要发布到的外部源名称。

如果源是在项目中创建的,则该值应为 Project/Feed,其中 Project 是项目的名称或 ID,是 Feed 源的名称。 如果未在项目中创建源,则该值应仅为源名称。


packagePublishExternal - 包名称
string. 当 internalOrExternalPublish = external && command = publish 时,需要此选项。

指定发布到外部源时的包名称。


versionOption - 版本
输入别名: versionPublishSelectorstring. 当 command = publish 时,需要此选项。 允许的值: major (Next major) 、 minor (Next minor) 、 patch (Next patch) 。 custom 默认值:patch

指定版本递增策略。 custom用于手动输入包版本的值。 对于新包,如果指定 ,则第一个版本将为 1.0.0(如果指定 ),如果指定 majorminor,则为 0.1.0;如果指定 patch,则为 0.0.1。 有关详细信息,请参阅 语义版本控制规范


versionPublish - 自定义版本
string. 当 versionPublishSelector = custom && command = publish 时,需要此选项。

指定包的自定义版本架构。


packagePublishDescription - 描述
string. 可选。 在 时 command = publish使用 。

指定包内容的说明和/或在此版本的包中所做的更改。


verbosity - 冗长
string. 允许的值:None、、TraceDebugInformationWarningErrorCritical。 默认值:None

指定在输出中显示的详细信息量。


verbosity - 冗长
string. 允许的值:NoneTrace、、DebugInformationWarningErrorCritical (Citical) 。 默认值:None

指定在输出中显示的详细信息量。


publishedPackageVar - 包输出变量
string. 可选。 在 时 command = publish使用 。

指定将包含已发布包名称和版本的变量的名称。


任务控制选项

除了任务输入,所有任务都有控制选项。 有关详细信息,请参阅 控制选项和常见任务属性

输出变量

无。

备注

使用此任务下载、打包和发布通用包。

我的管道需要访问不同项目中的源

如果管道在一个项目中运行,而托管源的是另一个项目,则必须设置另一个项目以授予对生成服务的读/写访问权限。 有关更多详细信息,请参阅 Azure Pipelines 中的包权限

示例

要开始完成“通用包”任务,最简单方法是使用管道任务编辑器生成 YAML。 然后,可以将生成的代码复制到项目的 azure-pipelines.yml 文件中。 在此示例中,该示例演示了如何使用构建 GatsbyJS 渐进式 Web 应用程序 (PWA) 的管道快速生成 YAML。

无论是封装 Web 应用还是对其进行版本控制,通用包都是很有效的方法。 将 Web 应用打包到通用包中可以快速回滚到站点的特定版本,并且无需在部署管道中生成站点。

此示例管道演示如何从项目中的源中提取工具。 “通用包”任务用于下载工具,运行构建,并再次使用“通用包”任务将整个编译的 GatsbyJS PWA 作为版本化通用包发布到源。

示例项目的屏幕截图。

下载具有“通用包”任务的包

示例项目中的第二个任务使用“通用包”任务从同一组织中的不同项目中的源中提取 imagemagick 工具。 后续生成步骤需要使用 imagemagick 工具来调整图像大小。

  1. 通过单击加号图标,在搜索框中键入“通用”,然后单击“ 添加 ”按钮将任务添加到管道,添加通用包任务。

    添加通用包任务的屏幕截图。

  2. 单击新添加的“通用包”任务以及要Download的“命令”。

  3. 选择要用于工具下载的“目标目录”。

  4. 选择包含该工具的源,设置包名称,然后从源中选择 imagemagick 工具的版本

    配置要下载的通用包任务的屏幕截图。

  5. 完成字段后,单击“查看 YAML”以查看生成的 YAML。

    查看 YAML 的屏幕截图。

  6. “通用包”任务生成器可生成包含非默认值的简化 YAML。 将生成的 YAML 复制到azure-pipelines.yml项目 git 存储库根目录中的 文件中。

    # Download Universal Package
    steps:
    - task: UniversalPackages@0
      displayName: 'Universal download'
      inputs:
        downloadDirectory: Application
        vstsFeed: '00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000001'
        vstsFeedPackage: imagemagick
        vstsPackageVersion: 1.0.0
    

发布包含“通用包”任务的包

此示例管道中的最后一步使用“通用包”任务将Run gatsby build步骤中生成的生产就绪 Gatsby PWA 上传到订阅源作为版本控制通用包。 进入订阅源后,你就拥有了完整站点的永久副本,该副本可以部署到托管服务提供商并可通过 gatsby serve 启动。

  1. 单击加号图标,在搜索框中键入“通用”,然后单击“ 添加 ”按钮将任务添加到管道的末尾,将另一个通用包任务添加到管道末尾。 此任务收集Run gatsby build步骤生成的所有生产就绪资产,生成版本控制的通用包,并将包发布到订阅源。

    设置要发布的通用包任务的屏幕截图。

  2. 将“命令”设置为 Publish

  3. 将“要发布的文件的路径”设置为包含 GatsbyJS 项目的 package.json 的目录。

  4. 选择目标源、包名称,并设置版本控制策略。

    配置要发布的通用包任务的屏幕截图。

  5. 完成必填字段后,单击“查看 YAML”。

  6. 像以前一样,将生成的 YAML 复制到 azure-pipelines.yml 文件中。 此示例项目的 YAML 如下所示。

    # Publish Universal Package
    steps:
    - task: UniversalPackages@0
      displayName: 'Universal publish'
      inputs:
        command: publish
        publishDirectory: Application
        vstsFeedPublish: '00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000002' # You can also use '<projectName>/<feedName>' instead of the GUIDs
        vstsFeedPackagePublish: mygatsbysite
        packagePublishDescription: 'A test package'
    

这个例子演示了如何使用管道任务生成器来快速生成“通用包”任务的 YAML,然后可以将其放入你的 azure-pipelines.yml 文件中。 “通用包”任务生成器支持可使用“通用包”任务的参数创建的所有高级配置。

注意

Azure Artifacts 不支持将包直接发布到视图。 必须先将包发布到源,然后将其提升到视图。

要求

要求 说明
管道类型 YAML,经典内部版本,经典版本
运行平台 Agent、DeploymentGroup
需求
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任意
可设置的变量 任意
代理版本 2.144.0 或更高版本
任务类别
要求 说明
管道类型 YAML,经典内部版本,经典版本
运行平台 Agent、DeploymentGroup
需求
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任意
可设置的变量 任意
代理版本 2.115.0 或更高版本
任务类别