powershell - 为什么 TeamCity 的 PowerShell Build Runner 显示堆栈跟踪而不是错误输出?
问题描述
我正在使用 TeamCity 开箱即用的 PowerShell Build Runner 来运行构建步骤中提供的脚本。该脚本实际上是:
$ErrorActionPreference = "Stop"
$match = select-string "%EwlProjectPackagesConfigPath%" -pattern "<package id=`"(Ewl)`" version=`"([0-9\.pr-]+)`".+/>"
$ewlPackage = $match.Matches.Captures.Groups[1]
$version = $match.Matches.Captures.Groups[2]
$devUtil = Get-ChildItem "%PackagesDirectory%\$ewlPackage.$version\Development Utility\EnterpriseWebLibrary.DevelopmentUtility.exe"
& $devUtil "%SolutionDirectory%" UpdateAllDependentLogic
if ($LastExitCode -ne 0) {
Throw "Process exit code: $LastExitCode";
操作员调用的 exe&
遇到了问题。它输出到标准错误并返回代码 1。这是 TeamCity 中输出的屏幕截图:
TeamCity 中的输出仅显示一行错误输出(2019 年 6 月 26 日下午 2:48:55:更新数据库逻辑失败。),然后是脚本中问题的堆栈跟踪。
我无法在 TeamCity 之外重现此内容。如果我将脚本保存到我的桌面并运行以下命令,它应该与 TeamCity 正在执行的命令相同:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -NonInteractive -ExecutionPolicy ByPass -File "C:\Users\Administrator\Desktop\Test.ps1"
然后我收到大约一百行错误输出(我希望在 TeamCity 中看到),我根本看不到堆栈跟踪。
- 为什么 TeamCity 不捕获整个错误输出?
- TeamCity 如何显示堆栈跟踪,为什么我以相同方式运行脚本时不显示?
解决方案
推荐阅读
- android - 谷歌播放资源覆盖字符串值
- elasticsearch - 为什么 ES 建议每个索引使用单个映射并且不为此提供任何“加入”功能?
- sql - 如何比较 PL/SQL 中整数值的范围?
- python - why is this pickle implementation not working(ie what am I missing)
- powerbi - 如何创建按选择和切片器过滤的总计?
- php - “类型错误:函数 App\Http\Controllers\UserController::create() 的参数太少,通过了 0,预期正好 1”
- c++ - 如何报告自定义 istream 故障
- django - 反应:如果 CSRF_TOKEN_HTTPONLY 为真,如何获取 Django CSRF 令牌?
- c# - SqlConnection,我使用的是 SQL Server,而不是 LocalDB;那么如何
- javascript - 如何在 Select2 插件中禁用选项?