参考 - 将自定义生成任务集成到扩展中

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

若要在 Azure DevOps 中创建自定义生成管道任务并将其与扩展集成,请使用此参考。

提示

查看有关使用 Azure DevOps 扩展 SDK 进行扩展开发的最新文档。

自定义任务

任务 是在生成或发布管道中定义自动化的构建基块。 我们提供了许多 内置任务 来启用基本的生成和部署方案。 建议在构建自己的方案之前查看这些方案。 如果现有任务不满足需求,可以生成 自定义任务

自定义生成任务 JSON

使用扩展创建自定义生成或发布任务时,扩展将包含 task.json 每个生成或发布任务的文件。 该文件 task.json 描述生成或发布任务。 生成系统使用它向用户呈现配置选项,并知道在生成时要执行的脚本。

生成/发布任务 SDK 文档位于 GitHub 上。 具体而言,你可能对 task.json架构感兴趣。

在一个扩展中捆绑多个版本的生成/发布任务

可以在扩展中包含多个版本的生成或发布任务。 在不中断旧版本用户服务的情况下推出扩展的未来版本。 以下信息显示了一个扩展中具有多个版本的布局。

传统扩展布局

  • extensionManifest.json
  • extensionIcon.png
  • 任务 1
    • task.json
    • icon.png
    • taskScript.ps1

注意

设置任务图标时,请确保满足以下条件。

  • 图标名称为icon.png
  • 图标大小为 32x32 像素
  • 该图标与文件位于同一位置task.json

多个版本布局

注意

代码在任务文件夹内查找 task.json 文件,然后查找更深层次的文件。 如果在任一级别中找不到一个,则会看到一条错误消息。

  • extensionManifest.json
  • extensionIcon.png
  • 任务 1
    • Task1V1
      • task.json
      • icon.png
      • taskScript.ps1
    • Task1V2
      • task.json
      • icon.png
      • taskScript.ps1
  • 任务 2
    • Task2V1
      • task.json
      • icon.png
      • taskScript.ps1
    • Task2V2
      • task.json
      • icon.png
      • taskScript.ps1

提示

若要确保 _build/Tasks/ssrsfilesdeploy 文件夹包含 V1 和 V2 内容,请设置为 matchCopy(item, srcPath, destPath, { noRecurse: false make-util.js 文件中。