Docker環(huán)境搭建Jenkins在構(gòu)建任務(wù)時(shí)控制臺(tái)日志出現(xiàn)中文亂碼的問(wèn)題
一、問(wèn)題描述:
在Linux環(huán)境Centos操作系統(tǒng)下,通過(guò)Docker下載Jenkins鏡像后創(chuàng)建了容器,并且通過(guò)服務(wù)器IP+端口訪問(wèn)Jenkins地址,進(jìn)行相關(guān)的配置,然后創(chuàng)建任務(wù)job來(lái)構(gòu)建跑java+selenium自動(dòng)化測(cè)試腳本,目前構(gòu)建Success,唯一不足之處是打印的日志出現(xiàn)就了亂碼,如下圖:
(備注:執(zhí)行機(jī)就是jenkins本身,同一臺(tái)機(jī)器)
二、排查Jenkins設(shè)置
Jenkins系統(tǒng)設(shè)置查看全局屬性中語(yǔ)言部分
2.Jenkins詳細(xì)信息(瀏覽器Jenkins地址后面加上/systemInfo)
三、代碼log日志編碼方式
1.打印的日志確認(rèn)是否是utf-8,已確認(rèn)是
四、 Linux服務(wù)器語(yǔ)言信息
1.查看宿主機(jī)語(yǔ)言配置,輸入命令:locale -a
2.查看/.vimrc
此處沒(méi)敢改,因?yàn)椴淮_會(huì)影響范圍,只是在CSDN找的文章
這塊不是很明白,網(wǎng)上給出的答案是:
https://blog.csdn.net/u010189459/article/details/38338735
大概的意思是在vimrc里面encoding可同時(shí)做這幾項(xiàng)設(shè)置:
set encoding=utf-8 set langmenu=zh_CN.UTF-8 language message zh_CN.UTF-8
五、終極排查
既然Jenkins系統(tǒng)設(shè)置、宿主機(jī)的語(yǔ)言都已經(jīng)排查,現(xiàn)在開始排查容器
1.進(jìn)入到Jenkins容器里面
docker exec -it 容器ID /bin/bash
查看語(yǔ)言
然后再輸入
export LC_ALL="C.UTF-8"
在/etc/bash.bashrc里面末尾寫入,然后source /etc/bash.bashrc
然后發(fā)現(xiàn)沒(méi)有vim,算了不折騰了。
lc_all實(shí)際上就是給上面的所有變量賦值,效果一樣,不過(guò)試試也無(wú)妨,一般來(lái)說(shuō)沒(méi)有,docker本身就有完整的操作系統(tǒng),跟宿主機(jī)沒(méi)關(guān)系。
2.進(jìn)入到Chrome瀏覽器容器里面
set LC_ALL="C.UTF-8"
3.然后Jenkins系統(tǒng)設(shè)置修改全局屬性,將之前的LANG = zh_CN .UTF-8改成LANG = C.UTF-8 原因是:目前市場(chǎng)上做服務(wù)器基本被centos和debian占據(jù)吧,centos依靠redhat,debian自源,centos源于紅帽,各種補(bǔ)丁以及服務(wù)更完善些,centos做服務(wù)器也較多吧,自動(dòng)化部門我沒(méi)猜錯(cuò)的話jenkins所在的宿主機(jī)用的是debian系統(tǒng)不是centos,因?yàn)閐ebian中l(wèi)ocale是支持zh_CN.UTF-8,centos支持C.UTF-8
最后重啟下jenkins服務(wù)(jenkins地址后加上/restart),然后啟動(dòng)任務(wù)查看jenkins控制臺(tái)的日志!
后記,可能是容器里面需要設(shè)置下語(yǔ)言,jenkins系統(tǒng)設(shè)置全局屬性語(yǔ)言LANG = C.UTF-8有關(guān)系。
總結(jié)
以上所述是小編給大家介紹的Docker環(huán)境搭建Jenkins在構(gòu)建任務(wù)時(shí)控制臺(tái)日志出現(xiàn)中文亂碼的問(wèn)題,希望對(duì)大家有所幫助!
- 關(guān)于docker啟動(dòng)jenkins環(huán)境的問(wèn)題
- 使用Docker+jenkins+python3環(huán)境搭建超詳細(xì)教程
- 基于Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持續(xù)集成交付環(huán)境的詳細(xì)教程
- docker環(huán)境下安裝jenkins容器的詳細(xì)教程
- 從零搭建docker+jenkins+node.js自動(dòng)化部署環(huán)境的方法
- 詳解Docker下搭建Jenkins構(gòu)建環(huán)境
- CentOS服務(wù)器部署Docker+Jenkins持續(xù)集成環(huán)境的方法
相關(guān)文章
使用Docker部署Tomcat的實(shí)現(xiàn)示例
在本地編寫好了Spring項(xiàng)目,為了實(shí)現(xiàn)能夠隨時(shí)地訪問(wèn),所以需要將項(xiàng)目部署到服務(wù)器,本文主要介紹了使用Docker部署Tomcat的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2023-11-11docker中時(shí)區(qū)問(wèn)題的處理方法
這篇文章主要給大家介紹了關(guān)于docker中時(shí)區(qū)問(wèn)題的處理方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用docker具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09云原生教程之使用Docker部署webssh工具sshwifty
Sshwifty是一個(gè)開源的WebSSH?&?WebTelnet客戶端,下面這篇文章主要給大家介紹了關(guān)于云原生教程之使用Docker部署webssh工具sshwifty的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-03-03Docker容器實(shí)現(xiàn)MySQL多源復(fù)制場(chǎng)景分析
這篇文章主要介紹了Docker容器實(shí)現(xiàn)MySQL多源復(fù)制,通過(guò)本文學(xué)習(xí)可以掌握多源復(fù)制的好處,通過(guò)使用場(chǎng)景分析給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06docker各種報(bào)錯(cuò)解決方案小結(jié)
最近在學(xué)習(xí)docker的時(shí)候遇到了不少問(wèn)題,索性給大家整理下,下面這篇文章主要給大家介紹了關(guān)于docker各種報(bào)錯(cuò)解決的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05Docker實(shí)現(xiàn)同Ip網(wǎng)段聯(lián)通的實(shí)現(xiàn)
這篇文章主要介紹了Docker實(shí)現(xiàn)同Ip網(wǎng)段聯(lián)通的實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-12-12