我知道可以使用AnsiColor插件在控制台输出中显示颜色。我在下面测试了一个基本示例:
// This shows a simple build wrapper example, using the AnsiColor plugin.
node {
// This displays colors using the 'xterm' ansi color map.
ansiColor('xterm') {
// Just some echoes to show the ANSI color.
stage "\u001B[31mI'm Red\u001B[0m Now not"
}
}
但是,这个例子太基础了,本质上是硬编码的。是否可以利用AnsiColor对整个控制台输出进行颜色编码?例如,当我为.NET项目执行Nuget和MSBuild时,我希望控制台输出对警告,错误等进行颜色编码。
答案 0 :(得分:0)
AnsiColor插件“在控制台输出中添加了对ANSI转义序列(包括颜色)的支持”(https://wiki.jenkins.io/display/JENKINS/AnsiColor+Plugin)。它只是充当包装器,以便Jenkins控制台输出正确显示颜色,插件本身不会在控制台输出中添加ANSI转义序列或颜色。
Ansible插件是一个很好的例子,其“可以使用参数'colorized:true'启用彩色输出”(https://wiki.jenkins.io/display/JENKINS/Ansible+Plugin#AnsiblePlugin-ColorizedOutput)。 Ansible插件的彩色输出需要 AnsiColor插件,否则Jenkins控制台输出将无法显示颜色。
没有 AnsiColor插件包装器的彩色输出:
stage('build'){
node('master'){
...
ansiblePlaybook colorized: true, installation: 'ansible2.5.11', inventory: 'inventory/hosts', playbook: 'playbooks/example.yml'
}
}
使用 AnsiColor插件包装器进行彩色输出:
stage('build'){
node('master'){
...
ansiColor('xterm') {
ansiblePlaybook colorized: true, installation: 'ansible2.5.11', inventory: 'inventory/hosts', playbook: 'playbooks/example.yml'
}
}
}