簡(jiǎn)單介紹一下通過docker的方式來安裝jenkins.
下載jenkins最新鏡像:
docker pull jenkins/jenkins:lts;
啟動(dòng)jenkins:
mkdir /root/jenkins_home
docker run -itd --name jenkins -p 8888:8080 -p 50000:50000 --privileged=true -v /root/jenkins_home:/var/jenkins_home jenkins/jenkins:lts
進(jìn)入容器里面:
docker exec -it jenkins bash
Docker方式安裝的Jenkins如何升級(jí)
#?把文件拷貝到容易里面的某個(gè)目錄
docker cp /var/jenkins_home/workspace/jenkins.war [CONTAINER ID]:/var/jenkins_home/
#?以root用戶進(jìn)入容器里面
docker exec -it -u root [CONTAINER ID] bash
#?備份原來的war包?虐秦,然后覆蓋war包
cp /usr/share/jenkins/jenkins.war /usr/share/jenkins/jenkinsBAK.war
cp /var/jenkins_home/jenkins.war /usr/share/jenkins
#?然后重新啟動(dòng)一下jenkins,或者把容器重新
docker restart jenkins?
啟動(dòng)jenkins之后闷沥,相關(guān)的配置操作等牧牢,可以看之前寫的文章:
Jenkins介紹及環(huán)境搭建和目錄結(jié)構(gòu)介紹
Jenkins之系統(tǒng)管理下的各配置選項(xiàng)介紹
Jenkins教程之java代碼編譯胁澳、打包炕檩、代碼掃描
踩過的坑:
1留攒、容器運(yùn)行后,通過docker ps 查看不到進(jìn)程胞得,通過docker ps -a 可以查看到荧止,容器啟動(dòng)就退出了,頁(yè)面沒顯示報(bào)錯(cuò)阶剑。這個(gè)時(shí)候可能就是沒有給jenkins映射目錄授權(quán)跃巡。
因?yàn)楫?dāng)映射本地?cái)?shù)據(jù)卷時(shí),/root/jenkins_home/目錄的擁有者為root用戶牧愁,而容器中jenkins user的uid為1000
解決方案:
給jenkins目錄授權(quán):
chown -R 1000:1000 /root/jenkins_home/
2素邪、因?yàn)閐ocker容器里面jenkins安裝目錄有可能與你服務(wù)器上的目錄不一致,jenkins輸出的日志匯總的相關(guān)信息或目錄可能無法直接使用猪半,因此兔朦,可以將映射的目錄設(shè)置軟連接,保持與docker容器里面的jenkins目錄一致:
ln -s /root/jenkins_home /var/jenkins_home