gpt4 book ai didi

powershell - Team City构建失败,不返回失败代码

转载 作者:行者123 更新时间:2023-12-02 23:39:06 26 4
gpt4 key购买 nike

我有一个在ShellCity上运行Invoke-MsBuild的Powershell脚本。在构建过程中,我看到了一个“警告:构建失败”项目。然而,最终的团队精神说,构建成功。如何强制TC退出并显示错误代码或至少报告构建失败。这是构建脚本的一部分。

Write-Host "Attempting to build $SolutionPath"
$buildSucceeded = Invoke-MsBuild -Path $SolutionPath -MsBuildParameters $MSBuildParams -BuildLogDirectoryPath "$BuildPath\Logs" -KeepBuildLogOnSuccessfulBuilds

最佳答案

TeamCity不太擅长捕获和报告Powershell抛出的异常。我所有的Powershell脚本都包裹着类似

Try {
Write-Host "Attempting to build $SolutionPath"
$buildSucceeded = Invoke-MsBuild -Path $SolutionPath -MsBuildParameters $MSBuildParams -BuildLogDirectoryPath "$BuildPath\Logs" -KeepBuildLogOnSuccessfulBuilds
}
Catch [Exception] {
Write-Error ('Failed: ' + $_.Exception.Message)
Exit 1
}

通过退出非零来弥补这个问题。

我承认这很麻烦并且有些不令人满意。我怀疑使用大多数(全部?)Powershell cmdlet支持的常规 -ErrorAction 参数可能会获得一些好处。 (话虽如此,我不确定 Invoke-MsBuild -ErrorAction Stop是否有效。)

关于powershell - Team City构建失败,不返回失败代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47164778/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com