Jenkins:使用单元测试自动检查Maven-Release

时间:2012-04-12 09:42:20

标签: java unit-testing maven jenkins release

我正在尝试配置Jenkins-Job以使用Maven-Release-Plugin发布Java项目。
我想确保如果当前版本与前一版本不兼容,那么我用来将版本标记为与早期主版本不兼容的主版本会发生变化。

一个例子:

  

最后一个版本是版本1.9.5 ,其中包含一个名为的类   的即可。
  在当前版本中,此类已被删除   用户指定为当前发布版本 1.9.6 并启动   詹金斯-工作。

     

发布版应该告诉用户当前主要版本预计 2 而不是 1 ,因为API已变得不兼容。

我想过使用前一版本的Unit-Tests来测试当前版本的代码。如果某些API变得不兼容,则在编译或测试期间,前一版本的单元测试将失败(假设该代码存在单元测试)。

我的方法需要将测试保存在单独的项目中,并检查我的VCS中的两个版本。

您是否知道任何可能有帮助的Jenkins-Plugin,或者您对如何检查API是否在两个主要版本之间不兼容有任何其他想法?

2 个答案:

答案 0 :(得分:2)

由于我对您的API没有任何了解,因此无法建议任何与测试API兼容性相关的内容。

在Jenkins / Maven方面,我建议您使用名为“在其他项目上触发参数化构建”的后期构建操作选项,将实际发布版本作为测试作业的下游作业运行

通过使用此功能,您可以根据此作业的结果使用不同的参数触发下游作业。即如果整个测试套件通过,则触发次要版本构建,反之亦然。

答案 1 :(得分:1)

我认为使用Jenkins或发布插件没有任何意义 - 你有多少次要发布主要版本?

您将单元测试分成不同项目的想法很好。只需针对您提议发布的-SNAPSHOT版本运行上一版本的测试。如果他们通过,那很好。否则,请更新主要版本号。