经典管道中的任务组

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

在经典管道中,任务组将管道中已定义的一系列任务封装到单个可重用任务中。 新任务组会自动添加到任务目录中,并且可以像其他任务一样添加到项目中的管道。 任务组存储在项目级别,不能在项目范围之外访问。

通过任务组,可以标准化和集中管理所有应用程序的部署步骤。 当您集中对任务组进行更改时,该更改将自动反映在使用该任务组的所有管道定义中。 不需要单独更改每个定义。

注意

YAML 管道不支持任务组。 可以使用模板来代替。

先决条件

  • 一个 Azure DevOps 组织和项目,你有权在其中创建管道。
  • 在项目中创建的经典管道。

提取任务参数作为变量

创建任务组时,可选择从封装任务提取参数作为配置变量,并提取任务信息的剩余部分。 任务中使用的变量会自动提取并转换为任务组的参数,这些配置变量的值将转换为任务组的默认值。

还可以在保存新任务组时更改参数的默认值。 当对管道运行或发布进行排队时,将提取封装的任务,用户为任务组参数输入的值将应用于任务。

在创建任务组之前,请确保将希望能够在管道运行中配置的任何参数定义为变量,例如 $(MyVariable)。 任何没有值或具有指定值而不是变量的任务参数都将成为固定参数,不会作为可配置参数向任务组公开。

还可以在任务组中配置任务条件(例如,对于 PowerShell 脚本任务,仅当上一个任务失败时运行此任务),并且这些条件与任务组一起保留。

注意

经典管道和经典发布管道支持任务组。

创建任务组

保存新任务组时,需要提供名称和描述,并在任务目录中为任务组选择一个类别。

  1. 打开要在其中创建新任务组的管道。

  2. 为确保你打算包含的任务都不包含任何链接参数,请在管道设置面板中选择取消全部链接,然后选择确认

    显示所有任务的取消链接参数的屏幕截图。

  3. 选择要转换为任务组的管道任务序列,右键单击以打开上下文菜单,然后选择创建任务组

    显示从任务发布管道列表创建任务组的屏幕截图。

  4. 添加任务面板中,为新任务组指定名称和说明,以及要将新任务组添加到的类别。

  5. 选择创建。 创建新的任务组,并替换管道中选定的任务。

  6. 底层任务中的所有 '$(vars)'预定义的变量除外)都将作为新创建的任务组的强制参数出现;如有必要,可以编辑这些值。

    例如,如果你有一个不想参数化的任务输入 foobar,则任务输入将转换为任务组参数 'foobar'。 可以将任务组参数 'foobar' 的默认值设置为 $(foobar),以确保在运行时,扩展的任务得到你想要的输入。

  7. 保存更新的管道。

管理任务组

当前项目中的所有任务组都列在管道下的任务组页上。

显示列出任务组的屏幕截图。

任务组页顶部,可以选择导入以导入以前保存的任务组定义。 可以使用此功能在项目和企业之间传输任务组,或复制和保存任务组的副本。

还可以在页面顶部选择安全性,以定义谁可以使用、编辑、删除或设置项目中所有任务组的权限。

若要管理任务组,请右键单击或选择该组的更多操作图标,然后从上下文菜单中选择以下选项之一:

  • 选择删除以删除任务组,然后在确认屏幕上再次选择删除
  • 选择导出以将任务组的副本保存为 JSON 管道。
  • 选择安全性以定义谁可以使用、编辑、删除或设置任务组的权限。

若要打开任务组详细信息页进行编辑,请在任务组页上选择任务组名称。

显示管理任务组的屏幕截图。

  • 任务选项卡中,可以编辑构成任务组的任务。 对于每个封装的任务,可以更改非变量参数的参数值,编辑现有参数变量,或将参数值与变量相互转换。 保存更改时,使用此任务组的所有定义都将选取更改。

    任务组的所有变量参数将在管道定义中显示为必需参数。 还可以设置任务组参数的默认值。

  • 历史记录选项卡中,可以看到组更改的历史记录。

  • 引用选项卡中,可以看到引用此任务组的所有管道和其他任务组的列表。 此列表可帮助您确保更改不会对其他进程产生意外影响。

创建任务组的预览和更新版本

所有内置的 Azure Pipelines 任务都受版本控制。 版本控制运行管道在开发、测试和发布新版本的同时继续使用任务的现有版本。 你可以以相同的方式对自定义任务组进行版本设置,以提供相同的优势。

  1. 要对任务组进行版本设置,请在完成编辑后选择另存为草稿,而不是保存

    显示将草稿更新保存到任务组的屏幕截图。

  2. 任务组版本号后面将附加字符串 -test。 如果对更改感到满意,请选择发布草稿。 在发布草稿任务组屏幕上,如果要将新版本发布为预览版,请选择作为预览版发布,然后选择发布

    显示发布任务组草稿版本的屏幕截图。

  3. 现在,你可以在发布过程中使用更新的任务组。 可以在已使用任务组的管道中更改版本号,或者从添加任务窗格中选择版本控制的任务组。 与内置任务一样,添加任务组时的默认版本是最高的非预览版本。

    显示使用任务组草稿版本的屏幕截图。

  4. 完成对更新的任务组的测试后,选择发布预览,然后选择发布。 从版本号中删除了预览版字符串,该版本现在作为生产就绪型版本出现在定义中。

    显示发布任务组预览版的屏幕截图。

  5. 现在,你可以在已包含任务组的管道中选择新的生产就绪型版本。 从添加任务面板中添加任务组时,系统会自动选择新的“生产就绪”版本。 可以编辑管道以使用早期版本。

    显示使用任务组的更新版本的屏幕截图。

使用任务组版本

任务组更新可以是次要或主要版本更新。

创建次要版本更新

要创建次要版本更新,可以在编辑任务组后直接保存任务组,而不是将其另存为草稿。

版本号不会更改,最新的更改将自动显示在管道定义中。 例如,如果任务组是版本 1,则可以有任意数量的次要版本更新,例如 1.11.21.3。 在管道中,任务组版本显示为 1.*

当希望管道在不更改管道定义中的版本号的情况下使用新更改时,请对任务组中的小更改使用次版本更新。

创建主要版本更新

要创建新的主要版本,请将任务组更新另存为草稿并创建预览,验证更改,然后发布预览。

此过程将任务组升级到新版本。 如果有一个版本为 1.* 的任务组,则新版本将发布为 2.*3.*4.* 等。

有关新版本可用性的通知将出现在使用该任务组的所有管道定义中。 如果用户要在管道中使用新任务组版本,则必须明确更新到该版本。

当做出可能破坏现有管道的重大更改时,可以测试并将更改作为新的主要版本推出。 用户可以选择升级到新版本或选择保留当前版本。 此功能与常规任务版本更新相同。

测试次要版本更新

如果任务组更新不是重大更改,但你想先进行测试,然后强制所有管道使用最新的更改,请按照以下步骤操作:

  1. 将任务组更改另存为草稿。 将使用更改创建一个名为 <Taskgroupname>(草稿)的新草稿任务组。
  2. 将此草稿任务组直接添加到测试管道。
  3. 验证测试管道中的更改。 对更改感到满意后,返回到主任务组,执行相同的更改,并直接保存它们。 这些更改将另存为次要版本更新。
  4. 新更改现在将显示在使用此任务组的所有管道中。 现在可以删除草稿任务组。

帮助和支持