В Azure DevOps у меня есть задача Azure Powershell для создания некоторых ресурсов с использованием сценария ps1 в репозитории. Этот скрипт работает нормально.
Теперь мне нужно разделить скрипт и переменные на разные файлы. Я создал файлы SB-Config.ps1 для переменных и ServiceBus.ps1 с основным скриптом. Все переменные перемещены в SB-Config.ps1. Оба файла находятся в одной папке и в ServiceBus.ps1 я добавил:
. .\SB-Config.ps1
Но Azure Devops завершается с ошибкой:
Что я делаю не так и как получить переменные из скрипта SB-Config.ps1 при запуске файла ServiceBus.ps1?
Я могу воспроизвести вашу ситуацию на своей стороне.
Та же проблема, что и у вас.
Вы можете запустить эту команду, чтобы вывести местоположение текущей рабочей области:
Get-Location
Я заметил, что файл сценария powershell на вашей стороне находится в подпапке рабочего каталога по умолчанию.
Итак, вы устанавливаете рабочее пространство в файле сценария powershell, который вы запускаете первым?
Set-Location $env:System_DefaultWorkingDirectory\subfolders
В вашей ситуации, я думаю, проблема связана с текущим рабочим пространством System_DefaultWorkingDirectory
, вывод ошибки означает, что скрипт не может получить нужный файл. Эта проблема возникает только тогда, когда вы выбираете «путь к файлу» для запуска.
Привет Боумэн! Да, вы правы, спасибо! Это мне очень помогло.
Используйте это в своем первом сценарии:
Set-Location $env:System_DefaultWorkingDirectory\subfolders
Я опубликовал ответ.