Справочник. Интеграция пользовательских задач сборки в расширения

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Используйте эту ссылку, если вы хотите создать и интегрировать пользовательские задачи конвейера сборки с расширениями в Azure DevOps.

Совет

Ознакомьтесь с нашей новой документацией по разработке расширений с помощью пакета SDK для расширений Azure DevOps.

Пользовательские задачи

Задачи — это стандартные блоки для определения автоматизации в конвейере сборки или выпуска. Мы предлагаем множество встроенных задач , чтобы обеспечить основные сценарии сборки и развертывания. Рекомендуется ознакомиться с этими сценариями, прежде чем создавать собственные. Если существующие задачи не соответствуют вашим потребностям, можно создать пользовательскую задачу.

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 содержала содержимое версии 1 и версии 2, задайте значение matchCopy(item, srcPath, destPath, { noRecurse:false в make-util.js файле.