经典管道中的任务组
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
在经典管道中,任务组将管道中已定义的一系列任务封装到单个可重用任务中。 新任务组会自动添加到任务目录中,并且可以像其他任务一样添加到项目中的管道。 任务组存储在项目级别,不能在项目范围之外访问。
通过任务组,可以标准化和集中管理所有应用程序的部署步骤。 当您集中对任务组进行更改时,该更改将自动反映在使用该任务组的所有管道定义中。 不需要单独更改每个定义。
注意
YAML 管道不支持任务组。 可以使用模板来代替。
先决条件
- 一个 Azure DevOps 组织和项目,你有权在其中创建管道。
- 在项目中创建的经典管道。
提取任务参数作为变量
创建任务组时,可选择从封装任务提取参数作为配置变量,并提取任务信息的剩余部分。 任务中使用的变量会自动提取并转换为任务组的参数,这些配置变量的值将转换为任务组的默认值。
还可以在保存新任务组时更改参数的默认值。 当对管道运行或发布进行排队时,将提取封装的任务,用户为任务组参数输入的值将应用于任务。
在创建任务组之前,请确保将希望能够在管道运行中配置的任何参数定义为变量,例如 $(MyVariable)。 任何没有值或具有指定值而不是变量的任务参数都将成为固定参数,不会作为可配置参数向任务组公开。
还可以在任务组中配置任务条件(例如,对于 PowerShell 脚本任务,仅当上一个任务失败时运行此任务),并且这些条件与任务组一起保留。
注意
经典管道和经典发布管道支持任务组。
创建任务组
保存新任务组时,需要提供名称和描述,并在任务目录中为任务组选择一个类别。
打开要在其中创建新任务组的管道。
为确保你打算包含的任务都不包含任何链接参数,请在管道设置面板中选择取消全部链接,然后选择确认。
选择要转换为任务组的管道任务序列,右键单击以打开上下文菜单,然后选择创建任务组。
在添加任务面板中,为新任务组指定名称和说明,以及要将新任务组添加到的类别。
选择创建。 创建新的任务组,并替换管道中选定的任务。
底层任务中的所有
'$(vars)'
(预定义的变量除外)都将作为新创建的任务组的强制参数出现;如有必要,可以编辑这些值。例如,如果你有一个不想参数化的任务输入
foobar
,则任务输入将转换为任务组参数'foobar'
。 可以将任务组参数'foobar'
的默认值设置为$(foobar)
,以确保在运行时,扩展的任务得到你想要的输入。保存更新的管道。
管理任务组
当前项目中的所有任务组都列在管道下的任务组页上。
在任务组页顶部,可以选择导入以导入以前保存的任务组定义。 可以使用此功能在项目和企业之间传输任务组,或复制和保存任务组的副本。
还可以在页面顶部选择安全性,以定义谁可以使用、编辑、删除或设置项目中所有任务组的权限。
若要管理任务组,请右键单击或选择该组的更多操作图标,然后从上下文菜单中选择以下选项之一:
- 选择删除以删除任务组,然后在确认屏幕上再次选择删除。
- 选择导出以将任务组的副本保存为 JSON 管道。
- 选择安全性以定义谁可以使用、编辑、删除或设置任务组的权限。
若要打开任务组详细信息页进行编辑,请在任务组页上选择任务组名称。
在任务选项卡中,可以编辑构成任务组的任务。 对于每个封装的任务,可以更改非变量参数的参数值,编辑现有参数变量,或将参数值与变量相互转换。 保存更改时,使用此任务组的所有定义都将选取更改。
任务组的所有变量参数将在管道定义中显示为必需参数。 还可以设置任务组参数的默认值。
在历史记录选项卡中,可以看到组更改的历史记录。
在引用选项卡中,可以看到引用此任务组的所有管道和其他任务组的列表。 此列表可帮助您确保更改不会对其他进程产生意外影响。
创建任务组的预览和更新版本
所有内置的 Azure Pipelines 任务都受版本控制。 版本控制运行管道在开发、测试和发布新版本的同时继续使用任务的现有版本。 你可以以相同的方式对自定义任务组进行版本设置,以提供相同的优势。
要对任务组进行版本设置,请在完成编辑后选择另存为草稿,而不是保存。
任务组版本号后面将附加字符串 -test。 如果对更改感到满意,请选择发布草稿。 在发布草稿任务组屏幕上,如果要将新版本发布为预览版,请选择作为预览版发布,然后选择发布。
现在,你可以在发布过程中使用更新的任务组。 可以在已使用任务组的管道中更改版本号,或者从添加任务窗格中选择版本控制的任务组。 与内置任务一样,添加任务组时的默认版本是最高的非预览版本。
完成对更新的任务组的测试后,选择发布预览,然后选择发布。 从版本号中删除了预览版字符串,该版本现在作为生产就绪型版本出现在定义中。
现在,你可以在已包含任务组的管道中选择新的生产就绪型版本。 从添加任务面板中添加任务组时,系统会自动选择新的“生产就绪”版本。 可以编辑管道以使用早期版本。
使用任务组版本
任务组更新可以是次要或主要版本更新。
创建次要版本更新
要创建次要版本更新,可以在编辑任务组后直接保存任务组,而不是将其另存为草稿。
版本号不会更改,最新的更改将自动显示在管道定义中。 例如,如果任务组是版本 1
,则可以有任意数量的次要版本更新,例如 1.1
、1.2
和 1.3
。 在管道中,任务组版本显示为 1.*
。
当希望管道在不更改管道定义中的版本号的情况下使用新更改时,请对任务组中的小更改使用次版本更新。
创建主要版本更新
要创建新的主要版本,请将任务组更新另存为草稿并创建预览,验证更改,然后发布预览。
此过程将任务组升级到新版本。 如果有一个版本为 1.*
的任务组,则新版本将发布为 2.*
、3.*
、4.*
等。
有关新版本可用性的通知将出现在使用该任务组的所有管道定义中。 如果用户要在管道中使用新任务组版本,则必须明确更新到该版本。
当做出可能破坏现有管道的重大更改时,可以测试并将更改作为新的主要版本推出。 用户可以选择升级到新版本或选择保留当前版本。 此功能与常规任务版本更新相同。
测试次要版本更新
如果任务组更新不是重大更改,但你想先进行测试,然后强制所有管道使用最新的更改,请按照以下步骤操作:
- 将任务组更改另存为草稿。 将使用更改创建一个名为 <Taskgroupname>(草稿)的新草稿任务组。
- 将此草稿任务组直接添加到测试管道。
- 验证测试管道中的更改。 对更改感到满意后,返回到主任务组,执行相同的更改,并直接保存它们。 这些更改将另存为次要版本更新。
- 新更改现在将显示在使用此任务组的所有管道中。 现在可以删除草稿任务组。
帮助和支持
- 浏览故障排除提示。
- 获取有关 Stack Overflow 的建议。
- 在 Azure DevOps 开发人员社区中发布问题、搜索答案或建议功能。
- 获取 Azure DevOps 支持。