【问题标题】:Builds are tagged unstable even when they are successful即使构建成功,构建也会被标记为不稳定
【发布时间】:2011-08-22 22:47:07
【问题描述】:

我正在运行 Jenkins 版本 1.411 并使用 Maven 进行构建。

即使应用程序构建成功,Jenkins 仍将其视为不稳定构建。我已禁用所有测试以隔离问题。

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 45.389s
[INFO] Finished at: Wed May 11 12:16:57 EST 2011
[INFO] [DocLinks] Skip document Adaptiv generated site ... (No such directory: site)
Final Memory: 27M/543M
[INFO] ------------------------------------------------------------------------
channel stopped
Archiving artifacts
Email was triggered for: Unstable
Sending email for trigger: Unstable
An attempt to send an e-mail to empty list of recipients, ignored.
Finished: SUCCESS

【问题讨论】:

  • 对不起,这个问题的措辞是无意义的。不稳定的构建始终是失败的构建。您将 Maven 的“BUILD SUCCESS”输出消息与 Jenkins 状态混淆了,这是完全不同的事情。
  • @sorin:您的评论似乎与Jenkins Terminology 不一致,Jenkins Terminology 明确指出“如果构建成功并且一个或多个发布者报告它不稳定,则构建是不稳定的”和“如果在构建过程中失败,则构建被破坏。也就是说,它不成功。"

标签: java maven-2 maven maven-3 jenkins


【解决方案1】:

前段时间我使用了 hudson/jenkins 但你应该看看Jenkins Glossary

构建不稳定如果构建成功并且一个或多个发布者报告它不稳定,则该构建是不稳定的。例如,如果 JUnit 发布者已配置并且测试失败,则构建将被标记为不稳定。

发布者发布者是编译之外的构建过程的一部分,例如 JUnit 测试运行。发布者可能会根据其处理结果报告稳定或不稳定的结果。例如,如果 JUnit 测试失败,那么整个 JUnit 发布者可能会报告不稳定。

所以我想您还有一些其他构建部分(JUnit 除外)报告了不稳定的结果。查看整个构建过程日志。

【讨论】:

  • 简而言之,如果测试失败
  • @aliopi 不确定您是否理解答案和评论,因为它不是导致构建在此处被标记为不稳定的测试(如果测试失败,则构建可能不会成功,但它确实)。
  • "例如,如果配置了 JUnit 发布者并且测试失败,那么构建将被标记为不稳定。"正是我的构建不稳定的原因,谢谢!!!
  • 现在术语被称为词汇表jenkins.io/doc/book/glossary
  • @KonstantinZyubin 感谢您的提示。我已经调整了答案。
【解决方案2】:

如果您有单元测试,请确保它们在执行构建时运行。

在我的例子中,单元测试没有运行,Jenkins 将构建标记为不稳定。 检查控制台输出时,我发现正在运行 0 个单元测试:

[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] 
[INFO] Results:
[INFO] 
[INFO] Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

对我来说,解决方法是无助于解决这个话题,但提及它也无妨:

我是 Spring boot 2.2,当我升级到 v2.5 时,JUnit 5 的 Vintage Engine 已从 spring-boot-starter-test 中删除,因此我需要添加它以使用 JUnit 4 执行测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-28
    • 2010-11-28
    • 2017-06-04
    • 2012-11-20
    • 1970-01-01
    相关资源
    最近更新 更多