如何为 MSBuild 重新配置 Jenkins Ansi-Color 插件 ColorMap?

问题描述 投票:0回答:1

Jenkins 的彩色控制台输出很好,但默认的白色背景使黄色文本极难阅读。 Blue Ocean 插件通过将黄色文本重新着色为焦橙色解决了这个问题,在白色/黑色背景上显示效果同样好。

由于 Blue Ocean 已被弃用并且加载它并不总是方便,我一直在查看 ANSI-Color 插件颜色图 将黄色重新映射为橙色。问题是,我无法让它实际交换颜色。

根据文档,应该足够简单,转到“管理 Jenkins”->系统->“ANSI 颜色”->高级并全局更新黄色的“xterm”颜色映射从

#CDCD00
#FF8700
(根据 wikipedia,这是有效的 ANSI 256 颜色。

在管道范围内将

options { ansiColor('xterm') }
添加到我的 Jenkinsfile 中,可以按预期从
dotnet build
获得彩色输出,但在控制台输出中我只得到黄色文本而不是替换值。

在浏览器中,我可以看到页面源代码中标记了转义代码,并且它使用默认的十六进制代码。如果我手动将十六进制代码更改为

#FF8700
,文本将更改为正确的颜色,因此看起来颜色似乎无法渲染。

<pre class="console-output">MSBuild version 17.9.4+90725d08d for .NET
  Creating a model to represent the project...
  Loading project references...
  Loading project files...
  Building the project model and resolving object interdependencies...
  Validating the project model...
  Writing model to /jenkins/workspace/<redacted>...
<!--[39;49m--><!--[33m--><span style="color: #CDCD00;">/jenkins/workspace<redacted>
...

我缺少什么技巧吗?

jenkins colors jenkins-pipeline ansi-escape
1个回答
0
投票

好消息,我明白了。这归结为对界面的误解。在我看来,不清楚这些字段的用途,因为它们没有标签。

最初,我认为字段 1 是输入颜色,字段 2 是变换颜色。只有在查看 html 代码寻找线索并看到名为 checkYellow 和 checkYellowB 的字段后,我才意识到每个字段分别是应用于普通文本和粗体文本的颜色。因此,用我想要的颜色更新第一个字段就是问题的解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.