问题描绘
在创建多分支流水后,会自动进入扫描,扫描之后立即出发首次构建。然而,我们并不需要进行构建,我们需要能够禁用扫描后的自动构建功能。
解决办法
参考 how to get $CAUSE in workflow 问题,虽然使用 getBuildCauses 可以获取构建原因,但是这并不能识别出发生在扫描后的构建。(当然也有可能是我们没有找到正确方法)
方法一、检查 BUILD_NUMBER 变量
在构建开始时,检查 BUILD_NUMBER 变量,如果 BUILD_NUMBER == “1” 成立,则放弃构建。
注意事项,参数 BUILD_NUMBER 为字符串,因此 BUILD_NUMBER == 1 返回假。
参考文献
Jenkins multibranch pipeline Scan without execution
Jenkins/Pipeline Examples