4

我有一组单元测试项目(每个客户一个)、一组每个客户的配置项目和一个核心 Java。单元测试只是 JUnit 测试,配置项目只是客户特定的 xml 文件等,核心项目是运行时。因此,单元测试正在测试每个客户的特定配置。

所以我的单元测试项目依赖于核心,以及它们相应的单元测试项目。全部作为 Maven2 依赖项。

现在,我想要发生的是,如果开发人员更新了破坏单元测试项目的配置项目,则构建将失败。即使单元测试或核心项目没有改变。

然而,即使在 Hudson 中,它已将 core 和 config 项目注册到单元测试项目的上游,但它仍然只会在开发人员签入单元测试项目时在单元测试失败时向他们发送电子邮件。

我尝试使用“Blame Upstream Committers Plugin”和 Email-Ext 插件,将 Committers 和 Culprits 设置为通过电子邮件发送。但是这些都不起作用,即使我不明白为什么不这样做。

我可以做的一件事是合并单元测试和配置项目。这是一个激进的举动,因为他们喜欢隔离客户配置,但这是可能的。但我想知道为什么上述方法不起作用。

谢谢,如果你能帮忙,贾斯汀

4

2 回答 2

1

尝试 Blame 插件时是否启用了指纹识别?(很抱歉将此作为答案发布,尚无法发表评论)

于 2011-03-18T06:20:47.327 回答
0

我正在努力解决同样的问题。根据插件的文档,您需要确保为上游和下游项目都打开了指纹识别,并且他们必须识别“hudson (jenkins) 可以确定来自上游构建的文件”。最简单的方法是仅对上游项目中构建的文件进行指纹识别。

我认为文件需要以独特的方式在项目之间变化(即更改每个构建),因为有几个人报告说早期构建的上游项目受到指责(当它确实有效时)。

以上对于启用了 hudson.upstreamCulprits=true 的插件或 ext-mail 插件都是正确的。

于 2011-05-19T23:07:22.650 回答