在Jenkins中使用node.js和ANSIcolor插件

4

我希望在Jenkins中展示由node.js生成的有颜色的输出。

两者单独工作时没有问题,但合并后却不行:

Node脚本 我的测试脚本test.js:

console.log(require("chalk").red("Node Red"))

shell中调用测试脚本可行:

node test.js => OK

Jenkins中调用带颜色的shell脚本是可行的:

echo -e "\033[31mShell Red\033[0m" => OK

但是在jenkins中调用节点脚本不会显示任何颜色:

node test.js => No Color, when executed in jenkins
3个回答

3

答案拉斐尔的指引让我朝正确的方向前进。这是我的Jenkins Pipeline脚本(基于Scripted Pipeline)的完整解决方案:

node {
    ansiColor('xterm') {
        withEnv(['FORCE_COLOR=3']) {
            ...
            sh "some-node-script-using-chalk.js"
            ...
        }
    }
}

如果您正在使用声明性Pipeline,请参见https://jenkins.io/doc/pipeline/tour/environment/如何在声明性Pipeline脚本中设置环境变量。

3

1
我刚刚发现了我的问题:
  • 在作业配置中
  • 查看绑定
  • 勾选名为“Color ANSI控制台输出”的复选框
然后它就可以工作了(对我来说...)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接