Powershell не выполняет задачу bamboo, потому что-ExecutionPolicy bypass - код возврата команды 134 вместо 0

у меня есть сценарий powershell, который будет запущен в бамбук это обновит статус сборки Bamboo. Это вызывается в Github, а затем статус будет обновлять любую сборку, которая вызывает скрипт. В настоящее время это работает нормально на машине windows, но теперь есть сборки, которые необходимы на машине Mac.

во-первых, скрипт возвращал код ошибки -1, потому что у меня не было powershell, установленного на Mac. Теперь, когда я установил powershell, я получаю следующую ошибку:

Failing task since return code of [powershell -ExecutionPolicy bypass -Command /bin/sh /var/folders/c6/T/MAC-CUSAPP-JOB1-14-ScriptBuildTask.ps1] was 134 while expected 0

сам код подходит для windows, так как все остальные сборки с использованием агента windows на bamboo успешно построят задачу.

& "${bamboo.build.working.directory}scriptspublish-status.ps1" `
    -repoName MyRepo `
    -status pending `
    -revision ${bamboo.repository.revision.number} `
    -buildUrl ${bamboo.buildResultsUrl} `
    -description "Bamboo has started a build" `
    -context "bamboo-build"

есть ли в любом случае делать это правильно, чтобы это работало для Mac. В настоящее время я проверил, что машина windows при запуске Powershell версии 5.0.0+ в то время как Mac является Powershell 6.0.0 Alpha, это будет причиной того, что она не строит и не дает код ошибки из 134?

когда я даже пытался сделать это:

if (2 -lt 3)
{
 Write-Host this is lower
}
else
{
 Write-Host this is higher
}

Он даст тот же ответ, даже если я напишу-Host hello, он ответит кодом возврата 134.

даже используя простой скрипт powershell, который говорит, что return 0 все равно даст сообщение об ошибке кода возврата 134. Также я проверил ExecutionPolicy для машины, и он неограничен для всего.

также проблема не в powershell на Mac, как это будет успешно запустите сценарий powershell отлично, но именно так bamboo использует сценарий powershell на Mac. Вам нужно сделать что-то другое при использовании сценария powershell на bamboo во время использования Mac?

вот изображение того, как я запускаю Bamboo, это задача скрипта, которая нужна в windows, но это не работает на mac. enter image description here обновление

я добавил powershell в качестве исполняемого файла, а затем использовал командную задачу для вызова powershell файл, но это все еще не работает, любая идея, если это из-за Bamboo не поддерживает powershell на mac, поскольку powershell работает с использованием кода visual studio и терминала на mac. Я сделал это двумя способами:

-ExecutionPolicy Bypass -File /Users/dev/Documents/PowreshellScripts/hello.ps1

и такой:

-NoProfile -NoLogo -NonInteractive -ExecutionPolicy Bypass -File /Users/dev/Documents/PowreshellScripts/hello.ps1

1 ответов


У меня был беглый Google проблемы, и похоже, что это на самом деле ошибка с PowerShell для Linux (и MacOS по прокси), по крайней мере, в соответствии с PowerShell для Mac GitHub проблема, которую мне удалось найти для него. Пользователь, который сообщил о проблеме с PowerShell, похоже, имеет очень похожую проблему с параметром-ExecutionPolicy при вызове сценария PowerShell из дистрибутива Linux (Ubuntu?) и я бы предположил, что это экстраполируется на MacOS из-за UNIX архитектура.

судя по комментариям, которые были добавлены, это, похоже, было исправлено в Alpha Build 18. Если это все еще не работает на MacOS с последней сборкой PowerShell, я мог бы предложить вам сообщить об этом на PowerShell GitHub, как это сделал этот пользователь:)