Team City 构建失败不返回失败代码

2024-04-27

我有一个在 TeamCity 上运行 Invoke-MsBuild 的 powershell 脚本。在构建过程中,我看到其中一个项目出现“警告:构建失败”。然而 teamcity 最后表示构建成功。如何强制 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
}

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

我承认这相当麻烦,而且有些不尽如人意。我怀疑使用一般性可能会有所收获-ErrorAction https://blogs.technet.microsoft.com/heyscriptingguy/2014/07/09/handling-errors-the-powershell-way/大多数(所有?)Powershell cmdlet 支持的参数。 (话虽如此,我不确定Invoke-MsBuild -ErrorAction Stop works.)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Team City 构建失败不返回失败代码 的相关文章

随机推荐

  • 可以用Java开发iPhone应用程序吗?

    无意间看到这样的广告 http monotouch net DownloadTrial ref so1 http monotouch net DownloadTrial ref so1 然后我开始怀疑 Java 中是否有类似的东西 据我了解
  • 是否可以通过 URL 调用 Web API 来获取实时数据?

    假设您有一个 ASP NET MVC 4 Web API 项目 当您通过 URL 调用其中一个资源时 它会等待获取指定时间段的性能监控数据 然后在完成后以 JSON 形式返回所有数据 但是 在输入 URL 和过程完成之间 是否有一种方法可以
  • 我们是否需要更喜欢构造函数而不是静态工厂方法?如果是的话,什么时候?

    我一直在阅读有效的Java by 约书亚 布洛赫到目前为止 它确实名副其实 第一项就提供了令人信服的理由静态工厂方法 over 构造函数 以至于我开始质疑那些好的旧构造函数的有效性 本书的优点 缺点总结如下 优点 他们有名字 我们拥有全面的
  • Predict() - 也许我不理解它

    I 今天早些时候发布 https stackoverflow com questions 9026383 error in predict关于我使用时遇到的错误predict功能 我能够纠正这个问题 并认为我走在正确的道路上 我有许多观察结
  • TFS2012错误的用户丢失工作区

    我的 TFS2012 有一个非常不寻常的问题 我们刚刚跨域迁移并从 TFS2010 升级到 TFS2012 一切似乎都与一个用户无关 我们似乎无法让他的工作空间正常工作 当我连接到 TFS 服务器时 我输入服务器名称和端口号 这会连接 但在
  • 如何向 CellList 添加或删除单个元素?

    如何添加 删除单个元素CellList http google web toolkit googlecode com svn javadoc 2 1 com google gwt user cellview client CellList
  • 在github上打开时如何更改Visual Studio的版本

    我有VS2015和VS2017 当我在 GitHub 上选择 在 Visual Studio 中打开 时 我想将其更改为使用 VS2017 而不是 VS2015 我怎样才能做到这一点 通过另一个问题找到了答案 使用 github 时 找不到
  • 在 Neo4j 中可视化连接的组件

    我可以使用下面的代码找到图中最密集连接的组件 CALL algo unionFind stream pnHours YIELD nodeId setId groupBy setId storing all node ids of the s
  • 如何同时(并行)调用远程计算机上的相同功能

    我正在编写一个脚本 该脚本具有多个需要时间在不同远程计算机上执行的函数 有什么方法可以以并行方式同时调用命令它们吗 举个例子将不胜感激 谢谢 Invoke Command已经对每台计算机并行执行调用 作为内置功能的一部分 https tec
  • 如何从 AngularJS 中的自定义指令 * 具有自己的作用域 * 访问父作用域?

    我正在寻找访问指令中 父 范围的任何方式 范围 嵌入 要求 从上面传入变量 或范围本身 等的任何组合 我完全愿意竭尽全力 但我想避免一些完全hacky或无法维护的东西 例如 我知道我现在可以通过采取 scope从 preLink 参数并迭代
  • 如何通过guard angular2隐藏链接

    如何在视图 html 中隐藏管理链接 我必须守护 管理员和经理 路由器配置 path manager component ManagerComponent canActivate ManagerGuard path user compone
  • Jenkins 在解析 pom 时失败

    我的 Jenkins 服务器上的一项作业出现问题 在 pom 解析期间失败并显示以下消息 Parsing POMs Modules changed recalculating dependency graph workspace java
  • 水平计数加工织物中的白色簇

    我对织物材质进行了处理 得到如下图所示的图像 原图 处理后的图像 现在 我想找到连续的白色簇的数量 如果所有簇都是均匀且完全水平的 我将运行一个循环来计算强度的上升和下降 以找到簇的数量 但事实并非如此 如果我通过上述方法取几行的中值 平均
  • 如何合并 jQuery 数据表 excelHtml5 中列的匹配值

    当我从数据表导出 Excel 时 我无法合并 col 值 由于列的值B named Category 需要合并重复值 我是编程新手 感谢任何帮助 这是我的我的jsfiddle https jsfiddle net t1j6rzg8 2 这是
  • Drupal - 使用引导程序检查 Drupal 之外的登录用户不起作用

    我正在绞尽脑汁地想弄清楚这个问题 在 Drupal 目录之外时 我无法让 Bootstrap 正常工作 如果我在 Drupal 目录中运行此代码 它可以正常工作 但向上一级不起作用 我的 Drupal 路径是 public html dru
  • 博耶摩尔算法的实现?

    有 C 语言的 Boyer Moore 字符串搜索算法的工作示例吗 我浏览了一些网站 但它们似乎有很多问题 包括维基百科 Thanks 子字符串搜索算法的最佳网站 http igm univ mlv fr lecroq string htt
  • 为什么不能使用与数组声明分开的数组初始化语法?

    我可以用一个整数来做到这一点 int a a 5 但我不能用整数数组来做到这一点 int a a 1 2 3 4 5 Why not 澄清 我不是在寻找正确的语法 我可以查找 我知道这有效 int a 1 2 3 4 5 这相当于 int
  • 即使没有任何更改,Makefile 也始终不是最新的

    我有一个包含两个文件夹的目录 src and binmakefile 位于根目录 即使没有更改 此 makefile 也会持续编译 不是最新的 我在这个 makefile 中遗漏了什么吗 all make a b a src a cpp g
  • Xcode:“此时无法安装此应用程序。”

    使用我的第一个应用程序进行学习 一切顺利 但 Xcode 遇到了问题 当我尝试在 iPhone 模拟器上运行该应用程序时 总是弹出此消息 此时无法安装此应用程序 怎么了 尝试构建应用程序时没有错误 已尝试清理构建 重新安装 Pod 重新启动
  • Team City 构建失败不返回失败代码

    我有一个在 TeamCity 上运行 Invoke MsBuild 的 powershell 脚本 在构建过程中 我看到其中一个项目出现 警告 构建失败 然而 teamcity 最后表示构建成功 如何强制 TC 退出并显示错误代码或至少报告