Jenkins Pipeline构建时控制台在流程起止之间无输出是什么原因?
问题根因
你遇到的控制台无额外输出的问题不是配置遗漏导致的,是Jenkinsfile语法书写错误引发的:
在声明式Pipeline规则中,echo是需要传入字符串参数的步骤方法,你将echo和需要打印的字符串拆分为了独立两行,Jenkins解析时会判定第一行执行无参echo(多数Jenkins版本无参echo不会输出任何内容),第二行单独的字符串不属于可执行步骤,会被直接忽略,因此流水线全程没有额外输出,也不会触发报错。
修复方案
将echo和参数放在同一行,也可以用括号包裹参数明确传参,修正后的Jenkinsfile示例如下:
pipeline { agent any stages { stage ('Build') { steps { echo 'Running build phase. ' // 也可以写成 echo('Running build phase. ') } } } }
异常排查补充
如果修改后仍无预期输出,可检查以下两项配置:
- 关闭流水线配置中的「轻量级检出」选项,部分版本开启该选项会导致Jenkinsfile解析异常
- 确认流水线执行的分支与你提交修改的分支一致,避免拉取到未修改的旧版本Jenkinsfile
内容的提问来源于stack exchange,提问作者Anuj chourasiya
相关产品推荐
相关产品推荐

