问题描述
在使用Jenkins的Blue Ocean插件时,发现Terraform Plan的输出被截断了,只显示了大约1700行,并在底部显示了一个”Show Complete Log”按钮以查看完整的输出。然而,当用户打开完整日志时,带有颜色的Terraform Plan被转换成了特殊的字符,导致无法阅读计划。
用户希望增加在漂亮的界面(带有颜色)中显示的行数(或字节数),以便更容易阅读。
以下是特殊字符的示例:
[2023-03-23T17:48:53.254Z] [0m[1mmodule.mymodule.module.application.module.aws_something.data.file.policy: Reading...[0m[0m...[32m+[0m [0m[1m[0meffect[0m[0m = "Allow"[2023-03-23T17:48:53.280Z] [32m+[0m [0m[1m[0mresources[0m[0m = [[2023-03-23T17:48:53.280Z] [32m+[0m [0m"arn:aws:sqs:ap-xxxxxxx-2:11212121212:xxxxxxxxxxxxxxxxxxx",[2023-03-23T17:48:53.280Z] ][2023-03-23T17:48:53.280Z] [32m+[0m [0m[1m[0msid[0m[0m = "PermitTopic"
有什么解决办法吗?
解决方案
请注意以下操作注意版本差异及修改前做好备份。
方案1
你可以通过配置hudson.consoleTailKB
系统属性来增加显示的行数(默认值为150)。具体如何设置系统属性取决于你如何安装Jenkins以及如何启动Jenkins服务(例如,我通过在/etc/sysconfig/jenkins
中设置JENKINS_JAVA_OPTIONS
变量来配置我的Jenkins)。
以下是如何设置hudson.consoleTailKB
系统属性的步骤:
1. 打开Jenkins的配置文件(例如/etc/sysconfig/jenkins
)。
2. 在配置文件中找到JENKINS_JAVA_OPTIONS
变量。
3. 在变量中添加-Dhudson.consoleTailKB=<value>
,其中<value>
是你想要设置的行数。
4. 保存配置文件并重启Jenkins服务。
请注意,这种方法只适用于增加显示的行数,并不能解决特殊字符的问题。
方案2
特殊字符看起来像是ANSI转义码,你可以尝试使用ansicolor
插件或将日志加载到支持ANSI颜色代码的查看器/编辑器中来解决这个问题。
以下是如何使用ansicolor
插件的步骤:
1. 在Jenkins中安装ansicolor
插件。
2. 在Jenkins的构建配置中,找到”Add post-build action”部分。
3. 选择”Color ANSI Console Output”选项。
4. 保存配置并重新运行构建。
ansicolor
插件将会解析并正确显示ANSI颜色代码,使得Terraform Plan的输出能够正常显示。
请注意,这种方法需要安装额外的插件,并且可能会影响Jenkins的性能。