Azure Devops Piepeline — путь к сценарию PowerShell на языке Yaml

#azure #yaml #azure-pipelines #azure-pipelines-yaml

#azure #yaml #azure-конвейеры #azure-конвейеры-yaml

Вопрос:

Я хотел бы спросить вас, знает ли кто-нибудь, как создать правильный путь к powershell в синтаксисе Yaml конвейера Azure Devops.

Как выглядит мой YAML (в настоящее время):

 trigger:
- develop

pool:
  vmImage: 'ubuntu-latest'

steps:

- task: PowerShell@2
  inputs:
    filePath: './scripts/script.ps1'
  

Как выглядит мой каталог:

введите описание изображения здесь

Какой путь возвращает конвейер:

Get-Content: /home/vsts/work/1/s/scripts/script.ps1:12

Какая ошибка возвращает конвейер:

##[ошибка] PowerShell завершила работу с кодом ‘1’.

Ответ №1:

Правильный ответ:

 - task: PowerShell@2
  inputs:
    filePath: '$(Agent.BuildDirectory)/s/scripts/script.ps1'
  

Ответ №2:

Нужно было бы посмотреть, как выглядит ваша задача публикации и как выглядит относительный путь. Попробуйте добавить -powershell Get-ChildItem -Path $(Build.ArtifactStagingDirectory) -recurse это, чтобы перечислить все пути, чтобы вы могли увидеть, каков полный путь к вашему сценарию.

Ответ №3:

Я хотел бы спросить вас, знает ли кто-нибудь, как создать правильный путь к powershell в синтаксисе Yaml конвейера Azure Devops.

Дело не в том, что PS не может найти ваш сценарий, вместо этого сообщение об ошибке указывает, что что-то не так с line12 в вашем файле xx.ps1.

Я не могу найти проблему, пока вы не поделитесь содержимым сценария здесь. Я предлагаю вам снова запустить конвейер System.Debug=true , чтобы получить подробное сообщение об ошибке, вы должны получить подсказку там.