我为我们的maven多项目创建了一个hudson作业,包含5个模块以将SNAPSHOT
构件部署到maven库。没关系,只要它在没有测试失败的情况下成功构建即可。但是,现在我想满足以下要求:配置hudson maven作业,在测试失败时继续构建,但只在没有测试失败时部署
- 当模块发生测试失败时,构建应继续构建并测试其他模块,但变为黄色。使用
-Dmaven.test.failure.ignore=true
完成,但在下一个要求失败。 - 当模块发生测试失败时,没有任何工件应该部署到Maven存储库。其他项目依赖于这个项目的快照,这些项目只想使用最新的快照,没有任何测试失败。
- 最好使用哈德森maven集成,而不是免费的脚本,我们得到哈德森报告页面(每个模块的红色/黄色/蓝色状态,生成日志错误着色,...)。特别是运行Maven构建两次(第一个
mvn test -Dmaven.test.failure.ignore=true
,而不是mvn deploy -DskipTests
)不是一个解决方案,因为它是一个性能损失,它混淆了哈德森报告页面,它不是原子的(它在第二个版本中再次从存储库中更新)。
有什么办法可以做到这一点?
陷阱:选项*将工件部署到Maven存储库*在自由式哈德森作业中不可用,仅在maven2哈德森作业中(显然对于maven 3不起作用)。 – 2011-03-22 08:44:11
现在,maven2 hudson/jenkins构建确实支持maven3 – 2011-04-01 13:26:29