0

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

4

2 回答 2

1

听起来您将 Jenkinsfile 与代码放在一起,但想从管理的角度更改 Jenkinsfile 的运行方式。

您可以将此阶段存储在单独的(偏好的版本控制风格)存储库中。在执行阶段之前,加载存储库,然后加载脚本文件并在阶段中执行该文件中定义的方法。

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

于 2018-07-18T16:02:50.487 回答
0

这种方法怎么样?

  stage('build') { 

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

buildFlag可能是

  • 同一管道中的简单 var
  • 在 jenkins 中配置的全局变量。您可以暂时设置禁用以跳过构建阶段并更改为启用以恢复正常

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

currentBuild.result = 'FAILURE'

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

于 2018-07-18T16:26:16.540 回答