TeamCity Test Deploy步骤流程退出代码0,即使遇到错误也会继续执行下一步

问题描述 投票:0回答:1

我在TeamCity中有一个步骤,它在执行下一步之前首先测试部署(具有“执行:如果所有先前步骤成功完成”选项)。我使用.deploy.cmd脚本并通过/ T开关在测试模式下执行。该过程返回代码0,但测试部署返回错误代码。

如何让它失败而不是下一步呢? (下面是错误的快照)

谢谢,

Error Snapshot

teamcity continuous-deployment msdeploy teamcity-9.0
1个回答
0
投票

您可以使用qazxsw poi qazxsw poi来调用您的cmd脚本。当您使用PowerShell时,您可以使用try-catch结构,并在代码出错时返回错误代码> 0。

Ef。:

Runner type

在哪里,PowerShell是你的$result = $null try { $result = &("C:\Users\guest\deploy.cmd") %TestArg% } catch { $errorMessage = $_.Exception.Message Write-Error "Error on deploy: $errorMessage" exit 1 } echo $result ,等于%TestArg%或什么也没有。如果您的脚本返回一些结果,您可以解析它并手动返回错误代码

Configuration Parameter

注意:在我看来,参数/T仅负责构建日志中显示错误的颜色。我通过SSDT(SqlPackage.exe)使用此解决方案部署数据库,因为即使出现错误,它也不会中止构建和后续步骤

© www.soinside.com 2019 - 2024. All rights reserved.