首页 文章

Jenkins:如何跳过多分支管道中的特定阶段?

提问于
浏览
0

我们所有的分支都有“阶段(构建)” . 暂时如何跳过这个阶段在多分支管道中的所有分支上运行 . 我知道一个解决方案是在舞台上使用条件时使用并要求所有开发人员将该分支拉入其分支 . 但那就是很多工作和协调 . 相反,我正在寻找一个全局配置,我们可以在任何分支上简单地跳过阶段 .

2 回答

  • 1

    听起来你将Jenkins文件放在代码旁边,但是想要从管理角度改变Jenkinsfile的运行方式 .

    您可以将此阶段存储在单独的(版本控制首选项)存储库中 . 在执行阶段之前,在存储库中加载然后加载脚本文件,并在阶段内执行该文件中定义的方法 .

    或者,向构建作业添加一个参数(假设您没有通过Jenkins文件中的选项设置参数),这是一个使用或跳过该阶段的布尔值,您可以在想要打开或关闭它时修改项目配置

  • 1

    这种方法怎么样?

    stage('build') { 
    
        if(buildFlag=="disable"){
          //jump to next stage
          return;
        }
        //do something
      }
    

    buildFlag 可能是

    • 同一管道中的一个简单var

    • 在jenkins中配置的全局变量 . 您可以暂时设置 disabled 以跳过 build 阶段并更改为 enabled 以恢复到常态

    您也可以将状态设置为失败,而不是返回:

    currentBuild.result = 'FAILURE'
    

    或抛出异常并退出整个作业或管道 .

相关问题