Docker環(huán)境搭建Jenkins在構(gòu)建任務(wù)時控制臺日志出現(xiàn)中文亂碼的問題
一、問題描述:
在Linux環(huán)境Centos操作系統(tǒng)下,通過Docker下載Jenkins鏡像后創(chuàng)建了容器,并且通過服務(wù)器IP+端口訪問Jenkins地址,進行相關(guān)的配置,然后創(chuàng)建任務(wù)job來構(gòu)建跑java+selenium自動化測試腳本,目前構(gòu)建Success,唯一不足之處是打印的日志出現(xiàn)就了亂碼,如下圖:
(備注:執(zhí)行機就是jenkins本身,同一臺機器)

二、排查Jenkins設(shè)置
Jenkins系統(tǒng)設(shè)置查看全局屬性中語言部分

2.Jenkins詳細(xì)信息(瀏覽器Jenkins地址后面加上/systemInfo)

三、代碼log日志編碼方式
1.打印的日志確認(rèn)是否是utf-8,已確認(rèn)是

四、 Linux服務(wù)器語言信息
1.查看宿主機語言配置,輸入命令:locale -a

2.查看/.vimrc
此處沒敢改,因為不確會影響范圍,只是在CSDN找的文章

這塊不是很明白,網(wǎng)上給出的答案是:
https://blog.csdn.net/u010189459/article/details/38338735
大概的意思是在vimrc里面encoding可同時做這幾項設(shè)置:
set encoding=utf-8 set langmenu=zh_CN.UTF-8 language message zh_CN.UTF-8
五、終極排查
既然Jenkins系統(tǒng)設(shè)置、宿主機的語言都已經(jīng)排查,現(xiàn)在開始排查容器
1.進入到Jenkins容器里面
docker exec -it 容器ID /bin/bash
查看語言

然后再輸入
export LC_ALL="C.UTF-8"
在/etc/bash.bashrc里面末尾寫入,然后source /etc/bash.bashrc然后發(fā)現(xiàn)沒有vim,算了不折騰了。
lc_all實際上就是給上面的所有變量賦值,效果一樣,不過試試也無妨,一般來說沒有,docker本身就有完整的操作系統(tǒng),跟宿主機沒關(guān)系。
2.進入到Chrome瀏覽器容器里面
set LC_ALL="C.UTF-8"

3.然后Jenkins系統(tǒng)設(shè)置修改全局屬性,將之前的LANG = zh_CN .UTF-8改成LANG = C.UTF-8 原因是:目前市場上做服務(wù)器基本被centos和debian占據(jù)吧,centos依靠redhat,debian自源,centos源于紅帽,各種補丁以及服務(wù)更完善些,centos做服務(wù)器也較多吧,自動化部門我沒猜錯的話jenkins所在的宿主機用的是debian系統(tǒng)不是centos,因為debian中l(wèi)ocale是支持zh_CN.UTF-8,centos支持C.UTF-8

最后重啟下jenkins服務(wù)(jenkins地址后加上/restart),然后啟動任務(wù)查看jenkins控制臺的日志!

后記,可能是容器里面需要設(shè)置下語言,jenkins系統(tǒng)設(shè)置全局屬性語言LANG = C.UTF-8有關(guān)系。
總結(jié)
以上所述是小編給大家介紹的Docker環(huán)境搭建Jenkins在構(gòu)建任務(wù)時控制臺日志出現(xiàn)中文亂碼的問題,希望對大家有所幫助!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信