当前位置: 首页 > 知识库问答 >
问题:

如何创建Jenkins构建管道取决于测试结果?

司空健
2023-03-14

我有三份詹金斯的工作。烟雾试验、关键路径试验(第1部分)、关键路径试验(第2部分)。现在一个接一个的开始。我需要根据测试结果创建构建管道。我需要考虑单个测试的结果(TestNG中的@test注释),忽略测试套件的整体结果。

我想得到这样的配置

烟雾测试-

那么,请告诉我Jenkins如何仅依赖于一个测试结果(而不是所有套件)?

共有2个答案

端木志诚
2023-03-14

我通过使用两个Jenkins扩展解决了这个任务:
https://wiki.jenkins-ci.org/display/JENKINS/EnvInject插件
https://wiki.jenkins-ci.org/display/JENKINS/Build流插件

>

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" )
闻安宜
2023-03-14

您可以尝试使用一些构建日志分析插件:https://wiki.jenkins-ci.org/display/JENKINS/Text-finder 插件https://wiki.jenkins-ci.org/display/JENKINS/Post 生成任务扫描生成输出,并将特定文本上的生成结果降级为失败。下一步,在“构建触发器”部分中的下游项检查选项“在构建其他项目之后构建”。设置正确的上游项目名称并设置正确的触发结果。

 类似资料:
  • 我正在尝试从管道中自动创建Jenkins管道构建。 我有一个管道,它创建一个比特桶存储库并向其提交一些代码,包括一个Jenkinsfile。 我需要向此管道添加另一个步骤,然后为其创建管道生成,这将运行 Jenkinsfile 中的步骤。 我认为Jobs DSL应该能够处理这一点,但我找到的文档非常稀少,我仍然不完全确定是否有可能或如何做到这一点。 任何帮助都将不胜感激。我想生成的Pipeline

  • 我是Docker和Jenkins的新手,我正在尝试创建一个Jenkins管道来构建Docker的形象。我在尝试构建时遇到了问题,并不断收到此错误: /var/jenkins_home/workspace/Docker-Pipeline@tmp/耐用-a11b32f8/脚本。sh:第1行:docker:未找到命令 我已经在虚拟机上安装了ubuntu 我正在做和他完全一样的事情,但总是失败。

  • 目前的情况: 每周一早上我都会手动检查周末运行的Jenkins作业jUnit结果,使用Project Health插件我可以过滤时间框运行。然后我将此表复制粘贴到Excel中,并检查每个测试用例的输出日志,以查看失败的原因并记下失败的原因。每个周末在Excel中都有另一个选项卡。所有这些都使可追溯性成为一场噩梦,并导致耗时的体力劳动。 我在寻找什么(并希望在某种程度上已经存在): 存储我指定的所有

  • 我有一个Jenkins管道作业(不是多分支管道),管道内的逻辑之一是,当gitlab scm上有一个合并请求时,我想基于触发此生成的合并请求的源分支构建一些东西。 我的问题是,在Jenkinsfile中,我如何动态地获取这个源分支,签出代码,并创建一个工作区,以便在这个分支上运行构建?

  • 我有一个多项目分级建筑在当地工作。有一个父级文件build.gradle设置。gradle文件将项目分配给它们各自的分级生成文件: 错误仍然相同,build.gradle文件(父文件)无法识别依赖项任务查看调试语句,找到并识别子生成分级文件:使用生成文件'/var/../LoadRemote/RemoteLoad_build.gradle'计算项目':LoadRemote'。对加载构建文件显示相同

  • 如果作业使用构建流(包括重复作业)运行,构建管道插件是否仍然正确显示作业序列? 以下是构建流程的伪代码: 包将从源代码控制中提取代码,编译它,并将其存储为工件 部署将从上游Package作业复制工件,然后将其复制到目标参数中提供的URL 集成测试将针对参数中提供的URL运行一套集成测试。 即使部署作业重复,构建管道插件是否将此管道显示为4个步骤?