首页 文章

Powershell脚本作为可执行文件给出“错误”,在Bamboo中给出返回码-1

提问于
浏览
6

我有一些简单的PowerShell脚本,我用Bamboo制作了可执行文件,通过添加一个路径,如 C:\build-scripts\bamboo-build-scripts\clear-directory.ps1 作为Bamboo中新容量的可执行文件的路径 .

但是,一些脚本,即使是在构建过程中作为“脚本”进程正确执行的脚本,在以这种方式运行时,通过给出返回码-1会失败 . 以下是构建日志中的示例:

simple  18-Jun-2015 13:14:06    Failing task since return code of [C:\build-scripts\bamboo-build-scripts\update-checker.ps1 GeometryClassLibrary] was -1 while expected 0

多个PowerShell脚本会发生这种情况,并导致构建过程的其余部分失败 .

这是一个示例PowerShell脚本,我通过将参数传递给目录来执行:

Remove-Item $args[0] -Force -Recurse
[io.directory]::CreateDirectory($args[0])

是否需要添加到PowerShell脚本以使其以正确的代码退出?或者我没有在Bamboo中正确定义可执行文件?

1 回答

  • 0

    你可以尝试一些事情:

    执行政策

    可能是脚本根本没有执行,可能是因为策略设置为不执行它们 . 尝试直接调用 powershell.exe

    powershell.exe -ExecutionPolicy Bypass -File C:\build-scripts\bamboo-build-scripts\clear-directory.ps1
    

    see this answer for more switches

    管道

    由于退出代码问题,NSClient曾经因调用PowerShell中写入的检查而遇到问题 . 他们的解决方案如下:

    cmd /c echo C:\build-scripts\bamboo-build-scripts\clear-directory.ps1; exit $LastExitCode | powershell.exe -Command -
    

    也许这将提供更准确的代码 .

相关问题