我想用jenkins显示由node.js生成的彩色输出
两者都可以单独工作,但不能结合使用:
节点脚本 我的测试脚本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
答案 0 :(得分:1)
我刚刚发现问题所在
它有效(对我来说...)
答案 1 :(得分:1)
answer的Raphael向我指出了正确的方向。这是我针对詹金斯管道脚本(脚本管道)的完整解决方案: :
node {
ansiColor('xterm') {
withEnv(['FORCE_COLOR=3']) {
...
sh "some-node-script-using-chalk.js"
...
}
}
}
如果您使用的是声明式管道,请参见https://jenkins.io/doc/pipeline/tour/environment/如何在声明式管道脚本中设置环境变量。
答案 2 :(得分:0)