node.js - 如何避免在 Jenkins 上出现不需要的 "animated"控制台输出

标签 node.js bash docker jenkins-plugins jenkins-pipeline

有时我会在我的 Jenkins 作业输出中找到像这样的日志行:

 [|]   [/]   [-]   [\]   [|]   [/]   [-]   [\]   [|]   [/]   [-]

我知道这些行来自“Progress Spinner”(https://askubuntu.com/questions/623933/how-to-create-a-rotation-animation-using-shell-script),但它们在纯文本日志中看起来很奇怪。

更糟的是,当工具使用“命令行进度条”时,例如当拉取 Docker Image 或 NPM 包时 - 然后日志包含真正丑陋(和不必要的)日志 block 。

...
xtracting [=============>                                   ]  15.2 MB/50.31 MB
xtracting [==============>                                  ]  15.2 MB/50.31 MB
xtracting [===============>                                 ]  15.2 MB/50.31 MB
xtracting [================>                                ]  15.2 MB/50.31 MB
xtracting [=================>                               ]  15.2 MB/50.31 MB
----

是否存在任何显示动画或将输出缩小到最终“位置”的 Jenkins 插件(如 Ansi-Color Plugin)?

我不想在“安静”模式下使用每个工具只是为了跳过这些不必要的“ascii 艺术”,因为那样会丢失很多有趣的信息。

最佳答案

这是一个有趣的主题,但恐怕如果该工具没有正确检测到 TTY,您几乎无法安全地“压缩”输出。

解决方法如下:

  • 在调用该工具时启用较不冗长或安静的模式以避免出现进度条。寻找像 -q--silent
  • 这样的开关
  • 如果在您将输出重定向到文件时该工具仍然显示进度条,则这是一个错误,您应该向该工具提交错误。

关于node.js - 如何避免在 Jenkins 上出现不需要的 "animated"控制台输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42229825/

相关文章:

javascript - Node Mocha Chai Async - 即使它应该失败,一切都会通过

javascript - 需要 Node JS 中间件功能

javascript - 使用 Node.js 接收 json 数据并写入文件的正确方法

bash - 尝试通过 SSH 连接到系统时出现延迟

docker - 如何处理临时 apt-key adv 故障?

Docker 将文件从 dockerfile 复制到主机

javascript - 没有 req.session.save() session 不会保存在 Node.js 中

bash - 将值输出到 csv - 命令行

bash - 如何通过变量传递文件名以供awk读取

docker - 无法启动 Elasticsearch ,因为找不到JAVA_HOME