我在Jenkins每周晚上都有一份工作。在此构建过程中执行的任务是:编译,单元测试,集成测试(只有JUnit测试比执行的“实际单元测试”更长)以及Sonar质量分析。为什么我的Sonar Jenkins工作从未变得不稳定,即使在测试失败的情况下?
当测试失败时,作业会被视为成功,因此不会发送电子邮件来通知此故障。
使用的Maven命令是mvn clean install sonar:sonar
。删除install
目标不会改变任何内容。
那有什么问题?
有没有办法在只有一个Jenkins作业时获得预期的行为(即在测试失败时具有不稳定的构建),还是应该创建两个作业,一个用于整个“Java部分”(编译,单元测试和集成测试),还有一个用于Sonar分析?
我们使用的是Maven 2.0.9,Java 1.6,Sonar 2.8,Jenkins 1.413。
您是否在任何地方定义-Dmaven.test.failure.ignore = true? – oers
@oers一点也不。确切的Maven命令是'mvn -U -up -e clean install -Dsonar.branch = XXX --settings C:\ xxx \ jenkins-setting.xml' – romaintaz
Jenkins似乎设置了这个属性:http://stackoverflow.com/questions/1004912/hudson-build-successful-with-unit-test-failures – oers