Jenkins Linux 从属语言环境
Posted
技术标签:
【中文标题】Jenkins Linux 从属语言环境【英文标题】:Jenkins Linux Slave Locale 【发布时间】:2015-06-29 22:49:03 【问题描述】:我将 Jenkins 设置为 Windows 机器上的主机。我正在尝试使用以下命令将 Linux 机器作为从属设备与 JNLP 连接:
/usr/java/latest/bin/java -jar /home/devjenkins/slave/slave.jar -jnlpUrl "$JNLP_URL"
其中 JNLP_URL 是与主 Jenkins 连接的 url。连接成功,我可以在从机上运行作业。
我没有设法解决的问题是在从属机器上设置语言环境,由于某种原因似乎默认为en_US.utf8
而不是en_GB.utf8
。当使用与 jenkins slave 相同的用户通过 SSH 连接到这台 linux 机器时,区域设置正确解析为 en_GB.utf8
。
我尝试在 Jenkins master LANG=en_GB.utf8
中为节点配置设置环境变量,但是当从节点 > slavemachine > 系统信息查看系统信息时,环境变量指的是属性
LANG en_US.UTF-8
。
关于设置此属性的任何想法以及如何覆盖此值?
【问题讨论】:
您是否在启动时自动运行从客户端?可能是默认语言环境(在/etc/default/locale
中设置)与shell 使用的语言环境不同(例如在/etc/profile
或/etc/bash.bashrc
中设置或被用户级配置文件配置覆盖)。对于初学者,请查看/etc/default/locale
。
它作为服务运行,但我机器上的默认语言环境是 en_GB。
【参考方案1】:
我通过使用 SSH 连接到 jenkins 从站的选项设法解决了这个问题。通过这个选项,jenkins 通过 SSH 在从机上创建设置并启动 slave.jar 进程。很可能,这是 Jenkins 中的一个错误,它在使用 Java Web 启动时不会更新/覆盖语言。
【讨论】:
以上是关于Jenkins Linux 从属语言环境的主要内容,如果未能解决你的问题,请参考以下文章
linux12Devops -->08jenkins部署Golang