VSTS的自定义构建任务 - 在一个VSIX中打包多个任务?

时间:2018-02-16 14:20:47

标签: azure-pipelines visual-studio-extensions azure-pipelines-build-task vsixmanifest

是否可以在一个VSIX文件中“捆绑”多个自定义VSTS构建任务。

我可以看到每个任务创建一个扩展程序是最佳实践(单一责任和全部),但是否可能

如果是这样,我会非常感谢一个示例清单,以及指向已完成此操作的人员的链接。

我想要的文件结构是。如果必须的话,每个任务切换到一个vsix非常容易。

Custom-Tasks
  - Task1
    - task.json
    - task.ps1
  - Task2
    - task.json
    - task.ps1
  - Task3
    - Task3V1
      - task.json
      - task.ps1
    - Task3V2
      - task.json
      - task.ps1
  extension-icon.png
  extension-manifest.json
  extension-tests.ps1
  build-publish.ps1

谢谢!

1 个答案:

答案 0 :(得分:0)

只需添加多个文件贡献,每个任务一个。

例如:

"files": [
    {
        "path": "Task1"
    },
    {
        "path": "Task2"
    },
    {
        "path": "Task3"
    }
],
"contributions": [
    {
        "id": "task-1-guid",
        "type": "ms.vss-distributed-task.task",
        "targets": [
            "ms.vss-distributed-task.tasks"
        ],
        "properties": {
            "name": "Task1"
        }
    },
    {
        "id": "task-2-guid",
        "type": "ms.vss-distributed-task.task",
        "targets": [
            "ms.vss-distributed-task.tasks"
        ],
        "properties": {
            "name": "Task2"
        }
    },
    {
        "id": "task-3-guid",
        "type": "ms.vss-distributed-task.task",
        "targets": [
            "ms.vss-distributed-task.tasks"
        ],
        "properties": {
            "name": "Task3"
        }
    }
]

市场上任意数量的扩展程序都捆绑了多个任务,您可以将其用作参考。