【问题标题】:Force Octopus Deploy step to fail if PostDeploy Powershell script fails如果 PostDeploy Powershell 脚本失败,则强制 Octopus Deploy 步骤失败
【发布时间】:2017-04-12 13:11:39
【问题描述】:

在我的 Octopus 部署步骤之一中,我有一个名为 PostDeploy.ps1 的 Powershell 脚本可以正常运行,但如果遇到异常,部署会继续进行,就像它成功一样。

我看过一些关于 powershell 退出代码问题的帖子,但我找不到针对 PostDeploy 脚本的特定问题的解决方案。

如果 PostDeploy 遇到错误,如何强制将步骤标记为失败?

【问题讨论】:

  • 我已将 Alex M 的答案标记为正确,因为它解决了我的问题,但问题的实际原因是 PowerShell 以即发即弃的方式运行 Windows 可执行文件。为了发现失败,我必须在可执行调用中添加| Out-Host,然后对$LastExitCode -ne 0进行if-check

标签: octopus-deploy


【解决方案1】:

$LastExitCode 非零和Exit 1 的组合应该能够失败。

几个用谷歌搜索的链接:

附:我相信你知道,但只是提醒一下,Octopus 中的版本正在快照变量、脚本、包等的版本。因此需要创建一个新版本和/或包。

【讨论】:

    【解决方案2】:

    示例代码

    $exePath=$OctopusParameters["Octopus.Action[mydeploystep].Output.Package.InstallationDirectoryPath"] + "\myapp.exe"
    & $exePath
    if ($LASTEXITCODE -ne 0)
    {
        EXIT 1
    }
    

    【讨论】:

    • Octopus.Action[mydeploystep]. 应该是 Octopus.ActionDeployStepName.Octopus.Action[DeployStepName]. ?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-07
    • 1970-01-01
    • 2012-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多