如何在jenkins管道控制台输出中抑制源脚本行回声? [英] How to suppress source script lines echo in jenkins pipeline console output?

查看:157
本文介绍了如何在jenkins管道控制台输出中抑制源脚本行回声?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在Jenkins写一个管道作业,它在管道控制台输出中显示下游作业的输出控制台。这项工作目前还在进行中,但由于管道作业本身将所有回波线添加到输出中,所以输出实际上很难读取。

 由用户john.doe@cdf.com开始
[管道]分配节点:开始
在/ srv / jenkins-slave / workspace /中的swqa-pr-prod-slave-1上运行UUT自动回归 - 1.20
[Pipeline] node {
[Pipeline] echo

[Pipeline] echo
//////////// /////////////////////////////////////
[Pipeline] echo
开始执行
[管道] echo
///////////////////////////////////// ////////////
[Pipeline] echo
$ b [Pipeline] echo

[Pipeline] [monitor] echo
[monitor] [EnvInject] - 加载节点环境变量。
[Pipeline] [monitor] echo
[monitor]在工作区中的swqa-pr-prod-slave-1(pr-prod-linux-slaves)上远程构建/ srv / jenkins-slave / workspace /过程映射组件锁定 - 1.00
[Pipeline] [monitor] echo
[monitor] [EnvInject] - 从构建步骤注入环境变量。
[Pipeline] [monitor] echo
[monitor] [EnvInject] - 注入属性内容
[Pipeline] [monitor] echo
[monitor] componentsLockDownScript = RegressionComponentsLockDown .py
[Pipeline] [monitor] echo
[monitor] modifyProcessMapXmlScript = ModifyXmlDom-1.20.py
[Pipeline] [monitor] echo
[monitor] uutAndNodePropertiesFile = DL380G8PR2-NodeData - (203).properties
[Pipeline] [monitor] echo
[monitor]
[Pipeline] [monitor] echo
[monitor] [EnvInject] - 成功注入变量。

管道插件或Groovy或Jenkins中是否有选项,配置,命令或任何内容让我抑制所有额外的回声,使控制台输出更具可读性? 解决方案

你需要通过jenkins ?如果没有,你可以直接从控制台grep出来(假设你在linux控制台上得到输出):

  cat YOUR_EXAMPLE_OUTPUT.txt | grep -v'\ [Pipeline \] \ | \ [monitor\] \ | ^ $'


$

 用户开始john.doe@cdf.com 

在/ srv / jenkins-slave / workspace / UUT的swqa-pr-prod-slave-1上运行自动回归 - 1.20

//////////////// /////////////////////////////////
开始执行
/////// //////////////////////////////////////////

$ p $ UPDATE:
如果你想让它live跟随你的输出,并将它放入一行缓冲grep:

  tail -f YOUR_EXAMPLE_OUTPUT.txt | grep -v'\ [Pipeline \] \ | \ [monitor \] \ | ^ $'--line-buffered 


I am writing a pipeline job in Jenkins which shows the output console of a downstream job in the pipeline console output. The job is working so far but the output is really hard to read due to all the echo lines added to the output by the pipeline job itself.

Started by user john.doe@cdf.com
[Pipeline] Allocate node : Start
Running on swqa-pr-prod-slave-1 in /srv/jenkins-slave/workspace/UUT Automated Regression - 1.20
[Pipeline] node {
[Pipeline] echo

[Pipeline] echo
/////////////////////////////////////////////////
[Pipeline] echo
                Start Execution                  
[Pipeline] echo
/////////////////////////////////////////////////
[Pipeline] echo

[Pipeline] echo

[Pipeline] [monitor] echo
[monitor] [EnvInject] - Loading node environment variables.
[Pipeline] [monitor] echo
[monitor] Building remotely on swqa-pr-prod-slave-1 (pr-prod-linux-slaves) in workspace /srv/jenkins-slave/workspace/Process Map Components Lock Down - 1.00
[Pipeline] [monitor] echo
[monitor] [EnvInject] - Injecting environment variables from a build step.
[Pipeline] [monitor] echo
[monitor] [EnvInject] - Injecting as environment variables the properties content 
[Pipeline] [monitor] echo
[monitor] componentsLockDownScript=RegressionComponentsLockDown.py
[Pipeline] [monitor] echo
[monitor] modifyProcessMapXmlScript=ModifyXmlDom-1.20.py
[Pipeline] [monitor] echo
[monitor] uutAndNodePropertiesFile=DL380G8PR2-NodeData-(203).properties
[Pipeline] [monitor] echo
[monitor] 
[Pipeline] [monitor] echo
[monitor] [EnvInject] - Variables injected successfully.

Is there an option, configuration, command or anything in the pipeline plugin or in Groovy or in Jenkins to allow me suppress all the extra "echoing" to make the console output more readable?

解决方案

Do you need to do it via jenkins? If not you could grep it out directly from console (assuming you get the output on a linux console):

cat YOUR_EXAMPLE_OUTPUT.txt | grep -v '\[Pipeline\]\|\[monitor\]\|^$' 

that would only leave out:

Started by user john.doe@cdf.com
Running on swqa-pr-prod-slave-1 in /srv/jenkins-slave/workspace/UUT Automated Regression - 1.20

/////////////////////////////////////////////////
                Start Execution                  
/////////////////////////////////////////////////

UPDATE: if you want it "live" follow your output and pipe it into a line buffered grep:

tail -f YOUR_EXAMPLE_OUTPUT.txt | grep -v '\[Pipeline\]\|\[monitor\]\|^$' --line-buffered

这篇关于如何在jenkins管道控制台输出中抑制源脚本行回声?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆