我有3个Jenkins工作。烟雾测试,关键路径测试(第1部分),关键路径测试(第2部分)。 现在它逐一开始。我需要创建构建PipeLine取决于测试结果。我需要考虑单个测试的结果(TestNG中的@Test注释),忽略测试套件的整体结果。
我想得到这样的配置:
烟雾测试 - >如果指定的测试通过,则在不同节点上运行关键路径测试第1部分和第2部分
那么,请告诉我Jenkins仅取决于一个测试结果(不是所有套件)?
答案 0 :(得分:0)
您可以尝试使用一些构建日志分析插件: https://wiki.jenkins-ci.org/display/JENKINS/Text-finder+Plugin https://wiki.jenkins-ci.org/display/JENKINS/Post+build+task 扫描构建输出,并将构建结果降级为特定文本上的失败。 接下来在下游项目检查选项"构建其他项目之后构建"在构建触发器部分。设置正确的上游项目名称并设置正确的触发结果。
答案 1 :(得分:0)
我通过使用2个Jenkins扩展解决了这个任务:
https://wiki.jenkins-ci.org/display/JENKINS/EnvInject+Plugin
https://wiki.jenkins-ci.org/display/JENKINS/Build+Flow+Plugin
写groovy脚本:
smokeTest = build( "Run_Smoke_Test" )
def isTestStepSuccessful = smokeTest.environment.get( "TestStepSuccessful" )
if (isTestStepSuccessful != "false") {
parallel (
{
build("Run_Critical_Path_Part_1_Test")
build("Run_Critical_Path_Part_3_Test")
},
{
build("Run_Critical_Path_Part_2_Test")
}
)
}
build( "Run_Critical_Path_Final_Test" )