我正在尝试配置Jenkins-Job以使用Maven-Release-Plugin发布Java项目。
我想确保如果当前版本与前一版本不兼容,那么我用来将版本标记为与早期主版本不兼容的主版本会发生变化。
一个例子:
最后一个版本是版本1.9.5 ,其中包含一个名为的类 的富即可。
在当前版本中,此类已被删除 用户指定为当前发布版本 1.9.6 并启动 詹金斯-工作。发布版应该告诉用户当前主要版本预计 2 而不是 1 ,因为API已变得不兼容。
我想过使用前一版本的Unit-Tests来测试当前版本的代码。如果某些API变得不兼容,则在编译或测试期间,前一版本的单元测试将失败(假设该代码存在单元测试)。
我的方法需要将测试保存在单独的项目中,并检查我的VCS中的两个版本。
您是否知道任何可能有帮助的Jenkins-Plugin,或者您对如何检查API是否在两个主要版本之间不兼容有任何其他想法?
答案 0 :(得分:2)
由于我对您的API没有任何了解,因此无法建议任何与测试API兼容性相关的内容。
在Jenkins / Maven方面,我建议您使用名为“在其他项目上触发参数化构建”的后期构建操作选项,将实际发布版本作为测试作业的下游作业运行
通过使用此功能,您可以根据此作业的结果使用不同的参数触发下游作业。即如果整个测试套件通过,则触发次要版本构建,反之亦然。
答案 1 :(得分:1)
我认为使用Jenkins或发布插件没有任何意义 - 你有多少次要发布主要版本?
您将单元测试分成不同项目的想法很好。只需针对您提议发布的-SNAPSHOT版本运行上一版本的测试。如果他们通过,那很好。否则,请更新主要版本号。