Azure DevOps - вызов сценария PS из сценария PS - PullRequest
0 голосов
/ 09 марта 2020

Разве вы не можете вызвать скрипт из скрипта в задаче Azure PowerShell?

Фон -

У меня есть Azure Репо с в нем два скрипта (назовем их script0 и script1 ). Сборка не ведется, поэтому нет конвейера сборки. Там просто релиз релиз. Артефакт, из которого он собирает: Azure Хранилище Git. У меня есть только одна задача в конвейере (выпуск), и это задача Azure PowerShell.

В script0 , который является основным сценарием, у меня есть для l oop, который требует, чтобы я запустил script1 (кроме различных других вещей, которые происходят в l oop).

Для жизни я не могу понять, как Я могу достичь этого. Хуже всего то, что он работает локально. Также все остальное работает в l oop. Я перепробовал кучу вещей, чтобы исправить это, но сейчас я начну только с этого: ошибка, которую мне выдают, когда я запускаю

$TeamFoundationCollectionUri$TeamProject/testscript.ps1 $stage $FunctionHosts[$i] (($hashtable | select -First 6).Key[$i]) $ResourceGroupName $location $functionApps $AdminClientSecret $VaultName $JsonFile

(Теперь, учтите - это часть script0 - основной скрипт).

Вот ошибка:

enter image description here

Размытая область script0 и testscript.ps1 is script1

Я перепробовал почти все

  1. Использование оператора вызова &
  2. Использование \, /, //
  3. Invoke-Expression -Command "<<code>code here>"
  4. Invoke-Command
  5. Также пробовал powershell.exe -Command < code here>

Как вы можете сказать, ни один из них не сработал.

1 Ответ

1 голос
/ 12 марта 2020

Я получил это с помощью оператора Call (&) до пути, где находится сценарий. Итак, я сделал это:

& $(System.ArtifactsDirectory)\$(System.TeamProject)\testscript.ps1 <pass the params here>

и все заработало.

...