构建失败的原因

发布于 2024-08-21 04:42:00 字数 178 浏览 5 评论 0原文

作为一名构建工程师,我不断寻找新的、有趣的方法来改进我们的构建过程 - 其中包括寻找新的、有趣的方法来使我们的构建失败!

我还没有找到构建失败的规范原因列表......所以我认为是时候创建一个了。考虑到这一点:

哪些构建时检查(无论是明显的还是创造性的)您见过失败的构建吗?

As a build engineer, I'm constantly looking for new and interesting ways to improve our build process - and that includes looking for new and interesting ways to fail our builds!

I have yet to find a canonical list of reasons to fail a build ... so I figure it's time to get one created. With that in mind:

What build-time checks - both obvious and creative - have you seen fail builds?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(12

云归处 2024-08-28 04:42:00
  • 编译失败
    • 生产代码
    • 测试类
  • 任何类型的测试失败:
    • 单元测试
    • 集成测试
    • 功能测试
    • 性能测试
  • 不符合质量检查:
    • 编码约定(Checkstyle)
    • 测试覆盖率(Clover、Cobertura 等)
    • 错误模式检测(FindBugs、PMD、Hammurapi)
    • 复制粘贴检测(CPD、Symian)
    • 二进制兼容性 (Clirr)
  • Compilation failure
    • Production code
    • Tests classes
  • Any kind of tests failure:
    • Unit tests
    • Integration tests
    • Functional tests
    • Performance tests
  • Non conformance to quality checks:
    • Coding convention (Checkstyle)
    • Test coverage (Clover, Cobertura, etc)
    • Bug patterns detection (FindBugs, PMD, Hammurapi)
    • Copy Paste detection (CPD, Symian)
    • Binary compatibility (Clirr)
坠似风落 2024-08-28 04:42:00
  • 编译失败
  • 单元测试
  • 集成测试
  • 系统测试
  • 命名约定
  • 代码质量
  • 回归测试
  • Compilation failure
  • Unit tests
  • Integration tests
  • System tests
  • Naming conventions
  • Code quality
  • Regression tests
南七夏 2024-08-28 04:42:00

构建中未经批准的签入。例如签入的代码与工作项或错误修复无关。

Unapproved Checkins in Build. Things like code checked in that is not associated to a work item or a bug fix.

2024-08-28 04:42:00

代码未通过自动质量检查(FxCop 等)。

Code failing automated quality inspections (FxCop, etc.).

吐个泡泡 2024-08-28 04:42:00

单元测试失败。

Unit test failure(s).

美人迟暮 2024-08-28 04:42:00

Martin Fowler 在介绍持续集成的文章中提出了未能运行应用程序的单元测试套件是构建失败的一个令人信服的原因。

In his article introducing Continuous Integration, Martin Fowler presented failure to run the application's suite of unit tests as a compelling reason to fail a build.

冰雪之触 2024-08-28 04:42:00

编译失败警告

fail on compilation warning

猫弦 2024-08-28 04:42:00

在模块(例如java包)之间引入循环依赖。

Introducing a cyclical dependency between modules (eg java packages).

﹂绝世的画 2024-08-28 04:42:00

我的公司实际上并没有这样做,但是对于像我们这样的大型遗留代码库,在未记录的更改上失败会很好。如果没有某种错误票,我们的 QA 部门将不知道测试更改,这太可怕了!

My company doesn't actually do this, but with a large legacy codebase like ours, it would be good to fail on undocumented changes. Without a bug ticket of some kind, our QA department wouldn't know to test the changes, and that is scary!

铁憨憨 2024-08-28 04:42:00

检查不同 jar 文件 (Java) 中的重复类(相同的包和类名)。

Check for duplicate classes (same package and class name) in different jar files (Java).

葬シ愛 2024-08-28 04:42:00

代码覆盖率降低或低于可接受的阈值。

Code coverage decreases or falls below an acceptable threshold.

晨与橙与城 2024-08-28 04:42:00

nuff 说,像检查编译失败这样简单的事情应该被视为强制性的。

导致构建损坏的签入应该是不可接受的,尽管可悲的事实是许多组织确实接受这种情况。

如果编译失败:

  • ……您将无法使用或运行二进制文件。
  • …你无法运行测试和分析来确保它有效。
  • ...您无法执行构建项目所需的任何其他检查。
  • ……你无法取悦你的客户,因为你没有什么可展示的。

为什么? 因为构建已损坏

Something as simple as a check on compilation failure should be considered mandatory, nuff said.

Check-ins that lead to broken builds should be unacceptable, although the sad truth is that many organizations do accept such.

If the compilation fails:

  • …you won't have a binary to use or run.
  • …you can't run tests and analysis to make sure it works.
  • …you can't do any other checks needed to build the project.
  • …you can't please your client because you have nothing to show.

Why? BECAUSE THE BUILD IS BROKEN.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文