一巷嚣、前言
有人問垂蜗,為什么要用Jenkins楷扬?我說下我以前開發(fā)的痛點解幽,在一些中小型企業(yè),每次開發(fā)一個項目完成后烘苹,需要打包部署躲株,可能沒有專門的運維人員,只能開發(fā)人員去把項目打成一個war包镣衡,可能這個項目已經(jīng)上線了霜定,需要把服務(wù)關(guān),在部署到服務(wù)器上廊鸥,將項目啟動起來望浩,這個時候可能某個用戶正在操作某些功能上的東西,如果你隔三差五的部署一下惰说,這樣的話對用戶的體驗也不好磨德,自己也是煩的很,總是打包拖到服務(wù)器上吆视。希望小型企業(yè)工作人員學(xué)習(xí)一下典挑,配置可能復(fù)雜,但是你配置好了之后啦吧,你只需要把代碼提交到Git或者Svn上您觉,自動構(gòu)建部署,非常方便授滓。有任何地方不懂的翻到最下方隨時咨詢我顾犹,想幫助更多的初學(xué)者共同一起努力成長!
二褒墨、Jenkins簡介
Jenkins是一個開源軟件項目炫刷,是基于Java開發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復(fù)的工作郁妈,旨在提供一個開放易用的軟件平臺浑玛,使軟件的持續(xù)集成變成可能。
三噩咪、jenkins基本工作原理
以上為基本工作原理顾彰,只是為了開發(fā)人員更好的理解畫的(個人理解),詳情可查看官方文檔:Jenkins
四胃碾、準(zhǔn)備工作
1.需要準(zhǔn)備一臺服務(wù)器涨享,大家可以在網(wǎng)上買,個人學(xué)習(xí)的話還是建議大家去安裝一個虛擬機(jī)仆百,去裝一個Linux系統(tǒng)厕隧。關(guān)鍵字點擊跳轉(zhuǎn):虛擬機(jī)安裝教程??Linux安裝教程
2.需要準(zhǔn)備一個遠(yuǎn)程連接工具,連接到Linux系統(tǒng),作者采用的是:Xshell 工具 (注意:Xshell下載地址翻到本文最下面)吁讨。
3.如果沒有安裝Docker的髓迎,給大家準(zhǔn)備好了教程如下:
Docker安裝教程:https://www.cnblogs.com/fuzongle/p/12781828.html
五、開始安裝
1.啟動docker建丧,下載Jenkins鏡像文件
docker pull jenkins/jenkins
?2.創(chuàng)建Jenkins掛載目錄并授權(quán)權(quán)限(我們在服務(wù)器上先創(chuàng)建一個jenkins工作目錄 /var/jenkins_mount排龄,賦予相應(yīng)權(quán)限,稍后我們將jenkins容器目錄掛載到這個目錄上翎朱,這樣我們就可以很方便地對容器內(nèi)的配置文件進(jìn)行修改橄维。 如果我們不這樣做,那么如果需要修改容器配置文件拴曲,將會有點麻煩争舞,因為雖然我們可以使用docker exec -it --user root 容器id /bin/bash 命令進(jìn)入容器目錄,但是連簡單的 vi命令都不能使用)
mkdir -p /opt/jenkens
chmod 777 /opt/jenkens
3.創(chuàng)建并啟動Jenkins容器
-d 后臺運行鏡像
-p 10240:8080 將鏡像的8080端口映射到服務(wù)器的10240端口疗韵。
-p 10241:50000 將鏡像的50000端口映射到服務(wù)器的10241端口
-v?/opt/jenkens:/var/jenkins_mount /var/jenkins_home目錄為容器jenkins工作目錄,我們將硬盤上的一個目錄掛載到這個位置侄非,方便后續(xù)更新鏡像后繼續(xù)使用原來的工作目錄蕉汪。這里我們設(shè)置的就是上面我們創(chuàng)建的?/opt/jenkens目錄
-v /etc/localtime:/etc/localtime讓容器使用和服務(wù)器同樣的時間設(shè)置。
--name myjenkins 給容器起一個別名
docker run -d -p 10240:8080 -p 10241:50000 -v /opt/jenkens:/var/jenkins_home -v /etc/localtime:/etc/localtime -v /opt/maven/apache-maven-3.8.5:/usr/local/maven -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai --name myjenkins jenkins/jenkins
如果Jenkins要部署maven項目逞怨,則啟動Jenkins時者疤,要指定maven路徑
docker run -u root?
--rm#(可選)關(guān)閉時自動刪除Docker容器
-d#(可選)在后臺運行容器(即“分離”模式)并輸出容器ID。如果您不指定此選項叠赦, 則在終端窗口中輸出正在運行的此容器的Docker日志驹马。
-p 9999:8080#容器的端口8080到主機(jī)上的端口9999。 前面是主機(jī)的端口除秀,后面是容器的端口
-p 50000:50000#將容器的端口50000 映射到主機(jī)上的端口50000(代理端口)
-v jenkins-data:/var/jenkins_home#映射在容器中的`/var/jenkins_home` 目錄到具有名字 `jenkins-data` 的[volume]
-v /var/run/docker.sock:/var/run/docker.sock#容器與Docker守護(hù)進(jìn)程通信
-v /usr/java/maven:/usr/local/maven# 將宿主機(jī)的maven環(huán)境變量/usr/java/maven映射到容器的/usr/local/maven糯累,jenkins里配置maven時地址填寫/usr/local/maven
-v /etc/localtime:/etc/localtime:ro#設(shè)置容器時間與宿主機(jī)一致
--name jenkins#設(shè)置別名
jenkinsci/blueocean
?4.查看jenkins是否啟動成功,如下圖出現(xiàn)端口號册踩,就為啟動成功了
docker ps -l
?5.查看docker容器日志泳姐。
docker logs myjenkins
?6.配置鏡像加速,進(jìn)入?cd /opt/jenkens 目錄暂吉。
cd /opt/jenkens
修改 vi? hudson.model.UpdateCenter.xml里的內(nèi)容
vi hudson.model.UpdateCenter.xml
修改前
將 url 修改為 清華大學(xué)官方鏡像:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
修改后
?7.訪問Jenkins頁面胖秒,輸入你的ip加上10240
?8.管理員密碼獲取方法,編輯initialAdminPassword文件查看慕的,把密碼輸入登錄中的密碼即可阎肝,開始使用。
vi /opt/jenkens/secrets/initialAdminPassword
?9.到此以全部安裝成功肮街,盡情的使用吧风题!
參考地址:https://blog.csdn.net/hzp666/article/details/123636882