首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何抑制jenkins管道控制台输出中的源脚本行回显?

如何抑制jenkins管道控制台输出中的源脚本行回显?
EN

Stack Overflow用户
提问于 2016-04-30 05:16:03
回答 3查看 5.1K关注 0票数 9

我正在用Jenkins编写一个管道作业,它在管道控制台输出中显示了下游作业的输出控制台。到目前为止,该作业工作正常,但由于管道作业本身向输出中添加了所有回声行,因此很难读取输出。

代码语言:javascript
复制
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.

在管道插件、Groovy或Jenkins中,有没有一个选项、配置、命令或任何东西可以让我抑制所有额外的“回显”,以使控制台输出更具可读性?

EN

回答 3

Stack Overflow用户

发布于 2016-05-03 03:37:29

您真正要找的是JENKINS-26124。显然,您有某种解决方法,但它的实现中存在一个缺陷,我们在问题中看不到这个缺陷。

票数 2
EN

Stack Overflow用户

发布于 2019-01-21 03:01:24

一个专门针对您的示例的部分解决方法

代码语言:javascript
复制
/////////////////////////////////////////////////
                Start Execution                  
/////////////////////////////////////////////////

代码块就是在多行上使用单个echo调用

'''triple single quoted string''' (也可以包括插值字符串)。

来自http://docs.groovy-lang.org/latest/html/documentation/#_triple_single_quoted_string

三重单引号字符串是多行的。您可以跨行边界跨越字符串的内容,而无需将字符串拆分成多个部分,也不需要拼接或换行转义字符:

票数 0
EN

Stack Overflow用户

发布于 2016-04-30 20:07:49

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

代码语言:javascript
复制
cat YOUR_EXAMPLE_OUTPUT.txt | grep -v '\[Pipeline\]\|\[monitor\]\|^$' 

这只会省略:

代码语言:javascript
复制
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                  
/////////////////////////////////////////////////

更新:如果你想让它“实时”,跟随你的输出,并把它通过管道传输到一个缓存行的grep:

代码语言:javascript
复制
tail -f YOUR_EXAMPLE_OUTPUT.txt | grep -v '\[Pipeline\]\|\[monitor\]\|^$' --line-buffered
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36947567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档