如何让Jenkins Blue Ocean直接显示打印输出而非“Print Message”?
问题解答:Jenkins中Print输出忽显忽藏的原因与解决办法
为啥会有的显示内容、有的要展开?
这事儿其实是Jenkins控制台的自动折叠逻辑在搞鬼:
- 当你用
print "TEXT HERE"(包括println、echo)输出的内容短且没换行时,Jenkins会直接把内容跟在“- Print Message”后面展示,不用折叠。 - 一旦输出里带换行符,或者内容长度达到了Jenkins内置的阈值,系统就会自动把输出藏起来,只留个“Print Message”的标题,得手动展开才能看全内容。
说白了,和你用print还是println没关系,核心是输出内容的格式触发了折叠规则。
能不能配置成始终显示?
必须可以!有两种实用办法:
办法1:修改Jenkins全局配置
- 进入Jenkins的Manage Jenkins -> Configure System页面
- 往下翻找Console Output相关的设置(不同版本位置可能略有差异,一般在页面下半段)
- 调整Console Output folding threshold(控制台输出折叠阈值),把数值设得足够大(比如
999999),这样大部分短输出都不会被折叠;如果你的Jenkins版本里有“Disable console output folding”选项,直接勾选就能彻底禁用折叠功能 - 点击保存即可生效
办法2:在Pipeline脚本里统一处理输出
不想改动全局配置的话,可以在脚本里把输出统一转换成单行格式:
- 把带换行的内容用
replaceAll("\n", " ")把换行换成空格,变成单行输出 - 或者使用
echo时加-n参数(部分Jenkins版本支持)强制不换行
举个实际示例:
def multiLineText = "第一行内容\n第二行内容" echo multiLineText.replaceAll("\n", " | ") // 把换行换成分隔符,变成一行显示
另外提一句:如果你的Jenkins版本太老旧,可能没有全局禁用折叠的选项,升级到新版LTS版本会更方便实现这个需求。
内容的提问来源于stack exchange,提问作者Caesar Kabalan
相关产品推荐
相关产品推荐

