Можно ли создать пользовательскую задачу Azure DevOps в Powershell?

Мы используем Azure DevOps Server 2019 (локально).

Я хочу создать специальную задачу Azure DevOps в Powershell. Примеры, которые я видел до сих пор в сети, касаются его создания в Typescript.

Интересно - это единственный способ? Можем ли мы, например, использовать Powershell?


person mark    schedule 23.03.2020    source источник


Ответы (2)


Да, вы можете использовать PowerShell в своей пользовательской задаче сборки.

Вам необходимо отредактировать этот раздел в task.json:

  "execution": {
    "PowerShell3": {
      "target": "ps-script.ps1",
      "workingDirectory": "$(currentDirectory)"
    }
  }

И вам необходимо установить VstsTaskSdk Powershell Module:

  • открыть Powershell
  • перейдите в root/buildtask каталога вашего расширения
  • выполнить mkdir ps_modules, а затем перейти в новый каталог
  • ваш pwd должен читать root/buildtask/ps_modules
  • выполнить Save-Module -Name VstsTaskSdk -Path ., который сохранит модуль на диск.
  • Сгладьте структуру каталогов, удалив номер версии. Например, у вас будет путь root/buildtask/ps_modules/VstsTaskSdk/0.10.0/*, который теперь должен читаться как root/buildtask/ps_modules/VstsTaskSdk/*.

Полное руководство существует здесь.

Вы также можете увидеть пример настраиваемой задачи с PS на этом GitHub репо.

Примечание: работает только на компьютерах с Windows.

person Shayki Abramczyk    schedule 24.03.2020

Да, вы можете использовать сценарий PS непосредственно в своей пользовательской задаче. Вы можете настроить task.json таким образом:

"execution": {
    "PowerShell3": {
        "target": "script.ps1",
         "workingDirectory": "$(currentDirectory)"
    }
 }
person Cece Dong - MSFT    schedule 24.03.2020