如何在jenkins中执行所有调用顶级maven目标,并仅在maven目标成功时执行剩余构建步骤

时间:2015-09-01 03:15:09

标签: maven selenium jenkins junit continuous-integration

我使用jenkins进行持续集成设置。我需要运行Junit测试用例和selenium测试用例并在svn中提交jar文件,但前提是所有的junit和selenium脚本都已通过。

Junit和selenium测试用例是单独的maven项目,因此我使用了两个调用顶级maven目标(一个用于selenium,另一个用于Junit)。我遇到了以下问题,

  1. 将首先执行Selenium脚本,如果任何selenium测试用例失败,jenkins构建将标记为Failed,它将开始执行跳过所有构建步骤(包括junit)的构建后操作。即使selenium脚本失败,我也想运行Junit测试用例。所以我在maven目标中添加了 -Dmaven.test.failure.ignore = true 来执行junit测试用例,即使selenium脚本失败也是如此。这完全符合我的预期,并继续执行junit test caes,并且构建标记为UNSTABLE。
  2. 现在我又遇到了另一个问题,我有一个构建步骤来调用最后的ant(仅在传递selenium和junit时才在svn中提交jar)。添加 -Dmaven.test.failure.ignore = true 后,即使出现任何故障,罐子也会被提交给svn。
  3. 任何人都可以帮我解决这个问题吗?

    1. 构建应该同时运行Selenium和Junit,即使任何一个项目都有任何失败。
    2. 只有在一切都成功的情况下才能在svn中提交Jars(这是通过使用ant target完成的,所以我在Build步骤中最后放置了inv。)。
    3. 还有其他方法可以实现吗?提前致谢。

0 个答案:

没有答案