這篇文章主要介紹“CentOS7上怎么搭建Jenkins+Maven+Git持續(xù)集成環(huán)境”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“CentOS7上怎么搭建Jenkins+Maven+Git持續(xù)集成環(huán)境”文章能幫助大家解決問(wèn)題。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:主機(jī)域名、虛擬空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、相山網(wǎng)站維護(hù)、網(wǎng)站推廣。
本文以部署 spring boot + maven 項(xiàng)目為例,使用碼云作為代碼托管倉(cāng)庫(kù),在 centos 7 上搭建 jenkins 持續(xù)集成環(huán)境。
1. 準(zhǔn)備工作
1.1 安裝 java 環(huán)境
jenkins 是基于 java 開(kāi)發(fā)的持續(xù)集成工具,需要在 java 環(huán)境下運(yùn)行。用下面命令查看系統(tǒng)是否已安裝 java:
yum list installed | grep jdk
如果沒(méi)有,使用 yum search 命令查找 openjdk 版本,選擇合適的 jdk 進(jìn)行安裝:
yum search openjdk yum -y install java-1.8.0-openjdk-devel
驗(yàn)證 java 是否安裝成功:
java -version
1.2 安裝 maven
依次運(yùn)行以下兩條命令:
wget http://repos.fedorapeople.org... -o /etc/yum.repos.d/epel-apache-maven.repo yum -y install apache-maven
驗(yàn)證 maven 是否安裝成功:
mvn -v
1.3 安裝 git
直接通過(guò) yum 安裝,安裝完成后查看版本驗(yàn)證是否安裝成功:
yum -y install git git --version
2. 安裝和配置 jenkins:
2.1 安裝 jenkins
依次運(yùn)行以下三條命令:
sudo wget https://pkg.jenkins.io/redhat... -o /etc/yum.repos.d/jenkins.repo sudo rpm --import https://pkg.jenkins.io/redhat... yum -y install jenkins
如果之前從 jenkins 導(dǎo)入過(guò) key,那么 rpm --import 將失敗,因?yàn)橐呀?jīng)有一個(gè) key 了。忽略它,繼續(xù)執(zhí)行 install 即可。
2.2 啟動(dòng) jenkins
啟動(dòng) jenkins,并且設(shè)置開(kāi)機(jī)自啟動(dòng):
systemctl start jenkins.service chkconfig jenkins on
jenkins 默認(rèn)使用8080端口,訪問(wèn)以下鏈接即可看到 jenkins 的 web 界面:
http://<服務(wù)器地址>:8080
如果無(wú)法訪問(wèn),檢查一下防護(hù)墻,是否有開(kāi)放端口,或使用命令 netstat -ntulp 查看端口是否被占用。
2.3 進(jìn)入 jenkins
首次進(jìn)入 jenkins 需要輸入管理員密碼,使用以下命令查看初始密碼:
cat /var/lib/jenkins/secrets/initialadminpassword
選擇默認(rèn)的 install suggested plugins
安裝插件,等待安裝完成后依照步驟創(chuàng)建用戶,創(chuàng)建完成后即可登入。
2.4 配置 jenkins
進(jìn)入 manage jenkins
-> global tool configuration
,依次配置 jdk、git 和 maven 路徑。
2.4.1 查看 jdk 路徑
使用 yum 安裝的軟件不會(huì)幫我們配置環(huán)境變量,直接使用命令echo $java_home 是看不到路徑的。
先用以下命令查看路徑:
which java
看到的結(jié)果是 /usr/bin/java ,但實(shí)際上這只是個(gè)軟連接,并不是 jdk 真正的所在目錄。
繼續(xù)使用以下命令查看:
ls -l /usr/bin/java
看到 /usr/bin/java 指向了 /etc/alternatives/java,很遺憾,還不是我們要找的真正路徑。
繼續(xù)追蹤:
ls -l /etc/alternatives/java
結(jié)果指向了 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64/jre/bin/java
,不同版本的 jdk 目錄名可能有些不同,這就是 jdk 真正所在的地方。
同理可獲得 maven 的所在路徑。
2.4.2 安裝和配置插件
進(jìn)入 manage jenkins
-> manage plugins
,搜索并安裝 publish over ssh
和 maven integration
兩個(gè)插件, git plugins
插件已經(jīng)默認(rèn)安裝上了,我們無(wú)需再安裝。
配置 ssh 免密碼登錄
在配置插件之前,我們先在 jenkins 服務(wù)器上生成密鑰對(duì)。運(yùn)行以下命令切換到 jenkins 用戶:
sudo su jenkins
如果無(wú)法切換,則打開(kāi) /etc/passwd 文件,找到 jenkins 那一行,將 /bin/fasle 改成 /bin/bash。
切換成功后,命令提示符的用戶名可能是 bash-4.2$,想要正常顯示用戶名的話,先切換回 root 用戶,執(zhí)行以下操作:
編輯文件 vi ~/.bash_profile
加入語(yǔ)句 export ps1='[u@h w]$'
立即生效 source ~/.bash_profile
再切換到 jenkins 用戶,就顯示正常了。接下來(lái)運(yùn)行以下命令生成密鑰對(duì):
ssh-keygen -t rsa
一路按回車(chē)完成,會(huì)在 /var/lib/jenkins/.ssh/ 目錄下生成 id_rsa 和 id_rsa.pub兩個(gè)文件。
將 id_rsa.pub 文件里的內(nèi)容追加到應(yīng)用服務(wù)器上的 /root/.ssh/authorized_keys 文件末尾,每行一個(gè) key,注意是應(yīng)用服務(wù)器。重啟應(yīng)用服務(wù)器上的 ssh 服務(wù):
systemctl restart sshd.service
現(xiàn)在 jenkins 可以免密碼登錄應(yīng)用服務(wù)器了,以 jenkins 用戶身份運(yùn)行命令來(lái)測(cè)試一下:
ssh root@<應(yīng)用服務(wù)器地址>
首次連接會(huì)有確認(rèn)提示,輸入 yes 即可。這步很重要,如果第一次沒(méi)有手動(dòng)連接確認(rèn),jenkins 會(huì)連不上。
配置 public over ssh 插件
進(jìn)入 manage jenkins
-> configure system
,填寫(xiě) publish over ssh
設(shè)置。
path to key:填寫(xiě)剛剛生成的 id_rsa 密鑰文件的路徑。
name:服務(wù)名,隨意填寫(xiě)。
hostname:應(yīng)用服務(wù)器的 ip 地址或域名。
username:登錄應(yīng)用服務(wù)器的用戶身份。
remote directory:遠(yuǎn)程目錄, 應(yīng)用服務(wù)器上存放應(yīng)用的目錄,jenkins 會(huì)把應(yīng)用拷貝至此目錄下。請(qǐng)確保此目錄存在。
save~
3. 部署 maven 項(xiàng)目
點(diǎn)擊 new item 新建任務(wù),隨意輸入任務(wù)名,選擇 maven project, ok。
在general,勾選 discard old builds,可以設(shè)置最多保留構(gòu)建文件多少天,和最多保留多少個(gè)構(gòu)建文件,不然每次構(gòu)建生成的文件都會(huì)保留,占用磁盤(pán)空間。
配置遠(yuǎn)程代碼倉(cāng)庫(kù)地址,jenkins 會(huì)從該地址拉取代碼。注意此處如果提示無(wú)法讀取倉(cāng)庫(kù),有可能是:
公鑰沒(méi)有添加到遠(yuǎn)程代碼服務(wù)器的 authorized_keys 文件里,上面配置 ssh 免登錄是 jenkins 訪問(wèn)應(yīng)用服務(wù)器的,jenkins 訪問(wèn)代碼服務(wù)器也同樣需要配置,除非應(yīng)用服務(wù)器和代碼服務(wù)器是同一臺(tái)機(jī)器。如果使用碼云或 github 等代碼托管平臺(tái),會(huì)有相應(yīng)的 ssh key 設(shè)置頁(yè)。
公鑰已添加到相應(yīng)文件里,但沒(méi)有手動(dòng)連接第一次。解決方法很簡(jiǎn)單,以 jenkins 用戶身份手動(dòng) clone 一次倉(cāng)庫(kù),確認(rèn) yes 即可。
勾選 add timestamps to the console output
,在控制臺(tái)輸出構(gòu)建過(guò)程。
填寫(xiě) maven 打包指令,-dmaven.test.skip=true 表示跳過(guò)測(cè)試。
勾選 run only if build succeeds
,選擇 send files or execute commands over ssh
。
接下來(lái)就是設(shè)置 build 完之后,把 jar 包從 jenkins 服務(wù)器拷貝到應(yīng)用服務(wù)器上,并運(yùn)行。
name:選擇之前創(chuàng)建的服務(wù)。
source files:maven 打包后生成的 jar 包,即要拷貝到應(yīng)用服務(wù)器運(yùn)行的程序,可填多個(gè),英文逗號(hào)分隔。
remove prefix:忽略前綴,我們只需要拷貝 target 下的 jar 包,不需要在應(yīng)用服務(wù)器上生成 target 目錄。
remote directory:目標(biāo)文件夾,會(huì)繼承全局設(shè)置,例如此處會(huì)把 jar 包拷貝到 /usr/local/app/demo 目錄下。
exec command:拷貝完成后,在應(yīng)用服務(wù)器上執(zhí)行的命令或腳本。
save
-> build now
,構(gòu)建成功后,打開(kāi)瀏覽器訪問(wèn)你的站點(diǎn)吧~
關(guān)于“CentOS7上怎么搭建Jenkins+Maven+Git持續(xù)集成環(huán)境”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。
當(dāng)前名稱:CentOS7上怎么搭建Jenkins+Maven+Git持續(xù)集成環(huán)境
網(wǎng)頁(yè)鏈接:http://bm7419.com/article12/jcisdc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、企業(yè)網(wǎng)站制作、網(wǎng)站收錄、網(wǎng)站制作、商城網(wǎng)站、網(wǎng)站營(yíng)銷(xiāo)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)