Невозможно использовать модуль Powershell в репозитории DevOps Azure - PullRequest
0 голосов
/ 18 октября 2019

У меня есть сценарий powershell, который отлично работает в моем локальном компьютере, но он не будет запускаться в конвейере DevOps Azure, фиксируя сценарий в репозитории. Скрипт включает несколько модулей .psm1, и кажется, что devOps не может найти модуль. Я попытался зафиксировать файлы модуля в репозитории и вызвать его через Import-Module, но ошибка все та же

1 Ответ

3 голосов
/ 18 октября 2019

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

1) Пример основан на проекте ASP.NET, где я добавил скрипт ps1 с помощью psm1. модуль к основному пути проекта. 2) Я перенес все в репозиторий Azure Devops. 3) Я использовал встроенный скрипт для запуска скрипта ps1:

- task: PowerShell@2
  inputs:
    targetType: 'inline'
    script: '$(BUILD.REPOSITORY.LOCALPATH)\$(SYSTEM.TEAMPROJECT)\testScript.ps1'

4) В скрипте я использовал локальный путь

Import-Module -Name ./testModule.psm1 -Verbose -ArgumentList 'Argument1'

И он работал.

PS.

Вы можете использовать встроенный скрипт powershell для просмотра переменных Azure Devops

- task: PowerShell@2
  inputs:
    targetType: 'inline'
    script: 'get-childitem -path env:*'

Используя эту информацию, вы можете использовать встроенный сценарий powershell для поиска файлов PS1 / PSM1:

- task: PowerShell@2
  inputs:
    targetType: 'inline'
    script: 'ls $(BUILD.REPOSITORY.LOCALPATH)\$(SYSTEM.TEAMPROJECT)'
...