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

指定要运行的通用包命令。


downloadDirectory - 目标目录
stringcommand = download时是必需的。 默认值:$(System.DefaultWorkingDirectory)

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


feedsToUse - 源位置
输入别名:internalOrExternalDownloadstringcommand = download时是必需的。 允许的值:internal(此组织/集合)、external(另一个组织/集合)。 默认值:internal

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


feedsToUse - 源位置
输入别名:internalOrExternalDownloadstringcommand = download时是必需的。 允许的值:internal(此帐户/集合),external(另一个帐户/集合)。 默认值:internal

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


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

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


externalFeedCredentials - 帐户/收集连接
输入别名:externalEndpointstring。 自选。 当 internalOrExternalDownload = external && command = download时使用。

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


vstsFeed -
输入别名:feedListDownloadstringinternalOrExternalDownload = internal && command = download时是必需的。

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


vstsFeedPackage - 包名称
输入别名:packageListDownloadstringinternalOrExternalDownload = internal && command = download时是必需的。

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


vstsPackageVersion - 版本
输入别名:versionListDownloadstringinternalOrExternalDownload = internal && command = download时是必需的。

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


feedDownloadExternal - 源(或项目/源(如果已在项目中创建源)
stringinternalOrExternalDownload = external && command = download时是必需的。

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

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


feedDownloadExternal -
stringinternalOrExternalDownload = external && command = download时是必需的。

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

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


packageDownloadExternal - 包名称
stringinternalOrExternalDownload = external && command = download时是必需的。

指定要下载的包名称。


versionDownloadExternal - 版本
stringinternalOrExternalDownload = external && command = download时是必需的。

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


用于发布 的文件路径 路径
stringcommand = publish时是必需的。 默认值:$(Build.ArtifactStagingDirectory)

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


feedsToUsePublish - 源位置
输入别名:internalOrExternalPublishstringcommand = publish时是必需的。 允许的值:internal(此组织/集合)、external(另一个组织/集合)。 默认值:internal

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


feedsToUsePublish - 源位置
输入别名:internalOrExternalPublishstringcommand = publish时是必需的。 允许的值:internal(此帐户/集合),external(另一个帐户/集合)。 默认值:internal

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


publishFeedCredentials - 组织/集合连接
输入别名:externalEndpointsstringinternalOrExternalPublish = external && command = publish时是必需的。

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


publishFeedCredentials - 帐户/收集连接
输入别名:externalEndpointsstringinternalOrExternalPublish = external && command = publish时是必需的。

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


vstsFeedPublish - 目标源
输入别名:feedListPublishstringinternalOrExternalPublish = internal && command = publish时是必需的。

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


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

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


vstsFeedPackagePublish - 包名称
输入别名:packageListPublishstringinternalOrExternalPublish = internal && command = publish时是必需的。

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


feedPublishExternal - 源(或项目/源(如果已在项目中创建源)
stringinternalOrExternalPublish = external && command = publish时是必需的。

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

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


feedPublishExternal -
stringinternalOrExternalPublish = external && command = publish时是必需的。

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

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


packagePublishExternal - 包名称
stringinternalOrExternalPublish = external && command = publish时是必需的。

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


versionOption - 版本
输入别名:versionPublishSelectorstringcommand = publish时是必需的。 允许的值:major(下一个主要)、minor(下一个次要)、patch(下一个修补程序),custom。 默认值:patch

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


versionPublish - 自定义版本
stringversionPublishSelector = custom && command = publish时是必需的。

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


packagePublishDescription - 说明
string。 自选。 当 command = publish时使用。

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


verbosity - 详细程度
string。 允许的值:NoneTraceDebugInformationWarningErrorCritical。 默认值:None

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


verbosity - 详细程度
string。 允许的值:NoneTraceDebugInformationWarningErrorCritical(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 复制到项目的 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'
    

此示例演示了如何使用 Pipelines 任务生成器快速生成通用包任务的 YAML,该任务随后可放入 azure-pipelines.yml 文件中。 通用包任务生成器支持可以使用 通用包 任务参数创建的所有高级配置。

注意

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

要求

要求 描述
管道类型 YAML,经典版本,经典版本
运行时间 代理,DeploymentGroup
需求 没有
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任何
Settable 变量 任何
代理版本 2.144.0 或更高版本
任务类别
要求 描述
管道类型 YAML,经典版本,经典版本
运行时间 代理,DeploymentGroup
需求 没有
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任何
Settable 变量 任何
代理版本 2.115.0 或更高版本
任务类别