我有一个将在 Bamboo 中运行的powershell脚本,它将更新Bamboo构建的状态。这在Github中调用,然后状态将更新调用脚本的任何构建。目前这在Windows机器上运行良好,但现在Mac机器上需要构建。
首先,脚本返回错误代码-1,因为我没有在Mac上安装PowerShell。现在我已经安装了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,因为在Bamboo上使用Windows代理的所有其他构建都将成功构建任务。
& "${bamboo.build.working.directory}\scripts\publish-status.ps1" `
-repoName MyRepo `
-status pending `
-revision ${bamboo.repository.revision.number} `
-buildUrl ${bamboo.buildResultsUrl} `
-description "Bamboo has started a build" `
-context "bamboo-build"
无论如何都要正确地执行此操作,以便这适用于Mac。目前我已经检查过运行Powershell版本5.0.0+的Windows机器,而Mac是Powershell 6.0.0 Alpha,这就是它没有构建并给出错误代码134的原因吗?
当我甚至尝试这样做时:
if (2 -lt 3)
{
Write-Host this is lower
}
else
{
Write-Host this is higher
}
它会给出相同的响应,即使我写了Write-Host hello它会以134的返回码响应。
即使使用一个简单的powershell脚本,返回0仍然会给出返回代码为134的错误消息。此外,我检查了机器的ExecutionPolicy,并且对所有内容都不受限制。
问题不在于Mac上的powershell,因为它会成功运行一个PowerShell脚本,但竹子是如何使用Mac上的powershell脚本的。在使用Mac时,在Bamboo上使用powershell脚本时是否需要做一些不同的事情?
这是我如何运行Bamboo的图像,这是Windows上需要的脚本任务,但这不适用于Mac。 的更新
我添加了powershell作为可执行文件然后使用命令任务来调用powershell文件,但是这仍然无法工作,任何想法都是因为Bamboo不支持在mac上使用powershell作为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
答案 0 :(得分:1)
我有一个粗略的谷歌问题,看起来这实际上是PowerShell for Linux(和MacOS by proxy)的错误,至少根据PowerShell for Mac GitHub issue I managed to find for it。从Linux发行版(Ubuntu?)调用PowerShell脚本时,报告PowerShell问题的用户似乎与-ExecutionPolicy参数有着非常相似的问题,我认为由于UNIX体系结构,这将推断出MacOS。
从添加的评论的外观来看,这似乎已经在Alpha Build 18中得到修复。如果这仍然无法使用最新版本的PowerShell在MacOS上运行,我可能会建议您在PowerShell GitHub上报告它这个用户做了:))