Jenkins+maven持續(xù)集成的實(shí)現(xiàn)
環(huán)境
系統(tǒng):centos 7
tomcat位置:/usr/local/jbreport/apache-tomcat-8.5.57
jdk位置:/usr/local/jbreport/jdk1.8.0_152
安裝Jenkins
下載依賴
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
導(dǎo)入密鑰
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
安裝
yum install jenkins
配置jdk
編輯Jenkins配置文件 vi /etc/init.d/jenkins 加入一行自己jdk的位置,這里我jdk是/usr/local/jbreport/jdk1.8.0_152 注意:直接加入/usr/local/jbreport/jdk1.8.0_152 是不行的,他這里指向的是bin目錄下Java可執(zhí)行文件,/usr/local/jbreport/jdk1.8.0_152/bin/java
注意:如果服務(wù)器上自帶了openjdk,或者已有jdk環(huán)境。那么可以使用which java 查看所在的位置,在/etc/init.d/jenkins中根據(jù)所在位置配置即可
保存后 重新加載一下服務(wù)
systemctl daemon-reload
啟動(dòng)Jenkins
systemctl restart jenkins
查看運(yùn)行狀態(tài)
systemctl status jenkins
開(kāi)通Jenkins默認(rèn)端口8080
firewall-cmd --add-port=8080/tcp --permanent firewall-cmd --reload firewall-cmd --permanent --query-port=8080/tcp
瀏覽器訪問(wèn):http://192.168.31.170:8080
配置Jenkins
解鎖Jenkins
根據(jù)頁(yè)面提示到服務(wù)器去查看/var/lib/jenkins/secrets/initialAdminPassword文件 cat /var/lib/jenkins/secrets/initialAdminPassword
安裝插件
安裝推薦的插件
下載插件
下載源碼插件
源碼在git上的下載Git plugin插件(我這里默認(rèn)已經(jīng)安裝了) 源碼在svn上的下載Subversion插件
下載maven插件
下載并配置maven 下載:
wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
解壓:
tar -zxvf apache-maven-3.5.4-bin.tar.gz
創(chuàng)建一個(gè)倉(cāng)庫(kù)目錄
cd apache-maven-3.5.4/ mkdir repo 移動(dòng)到自己喜歡的位置 mv /root/apache-maven-3.5.4 /usr/local/jbreport/maven rm -rf /root/apache-maven-3.5.4 rm -rf /root/apache-maven-3.5.4-bin.tar.gz
配置maven環(huán)境變量
vi /etc/profile 在文件末尾添加maven所在位置的環(huán)境變量 MAVEN_HOME=/usr/local/jbreport/maven export PATH=${MAVEN_HOME}/bin:${PATH} 保存后刷新一下環(huán)境變量,并驗(yàn)證maven環(huán)境 source /etc/profile mvn -v
配置maven源和本地倉(cāng)庫(kù)
vi /etc/profile 在文件末尾添加maven所在位置的環(huán)境變量 MAVEN_HOME=/usr/local/jbreport/maven export PATH=${MAVEN_HOME}/bin:${PATH} 保存后刷新一下環(huán)境變量,并驗(yàn)證maven環(huán)境 source /etc/profile mvn -v
創(chuàng)建自動(dòng)構(gòu)建任務(wù)
新建一個(gè)任務(wù)
取一個(gè)好聽(tīng)的名字,選擇maven項(xiàng)目,點(diǎn)擊確定
配置
勾選丟棄舊的構(gòu)建
源碼管理我選擇了SVN
Repository URL : 源碼地址
Credentials : 憑據(jù),也就是svn的賬號(hào)密碼,點(diǎn)擊后面添加按鈕添加一個(gè)
下面幾個(gè)可以不用管了
勾選構(gòu)建之前刪除舊的工作空間
build 配置
保存配置
全局工具配置
maven-settings.xml配置
jdk配置
maven配置
保存配置
嘗試構(gòu)建一次
發(fā)現(xiàn)不能刪除自定義空間,于是給jenkins用戶授予root權(quán)限 vi /etc/sysconfig/jenkins 找到如下行: 將原來(lái)的jenkins用戶修改為 root用戶。 $JENKINS_USER="root" 修改Jenkins相關(guān)文件夾用戶權(quán)限,更改jenkins三個(gè)文件夾的用戶所有都和用戶組: chown -R root:root /var/lib/jenkins chown -R root:root /var/cache/jenkins chown -R root:root /var/log/jenkins 重啟Jenkins systemctl restart jenkins 再次構(gòu)建成功
Post Steps
上面我已經(jīng)構(gòu)建成功了 但構(gòu)建的目錄是自定義的 /usr/local/jbreport/workspace 即目前通過(guò)maven編譯后的class文件都還在此目錄中 所以下面需要通過(guò)Post Steps 把maven編譯的class移動(dòng)替換到tomcat的webapps下對(duì)應(yīng)的項(xiàng)目中
在Post Steps中編寫(xiě)自動(dòng)化腳本
腳本解釋
停止tomcat服務(wù) systemctl stop tomcat 刪除tomcat下webapps下ROOT項(xiàng)目中的所有內(nèi)容 rm -rf /usr/local/jbreport/apache-tomcat-8.5.57/webapps/ROOT/* 把構(gòu)建空間中項(xiàng)目target目錄中的WEB-INF和META-INF復(fù)制到tomcat中ROOT項(xiàng)目里 cp -r /usr/local/jbreport/workspace/target/jbreport-application/* /usr/local/jbreport/apache-tomcat-8.5.57/webapps/ROOT/ 啟動(dòng)tomcat服務(wù) systemctl start tomcat
再次構(gòu)建并驗(yàn)證
構(gòu)建成功 查看tomcat中ROOT項(xiàng)目中文件的日期都是最新,證實(shí)ROOT已更新為最新代碼
到此這篇關(guān)于Jenkins+maven持續(xù)集成的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Jenkins+maven持續(xù)集成內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Springboot前后端分離項(xiàng)目配置跨域?qū)崿F(xiàn)過(guò)程解析
這篇文章主要介紹了Springboot前后端分離項(xiàng)目配置跨域?qū)崿F(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08RestTemplate使用不當(dāng)引發(fā)的問(wèn)題及解決
這篇文章主要介紹了RestTemplate使用不當(dāng)引發(fā)的問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10Java多線程教程之如何利用Future實(shí)現(xiàn)攜帶結(jié)果的任務(wù)
Callable與Future兩功能是Java?5版本中加入的,這篇文章主要給大家介紹了關(guān)于Java多線程教程之如何利用Future實(shí)現(xiàn)攜帶結(jié)果任務(wù)的相關(guān)資料,需要的朋友可以參考下2021-12-12解決Dubbo應(yīng)用啟動(dòng)注冊(cè)ZK獲取IP慢的原因之一
這篇文章主要介紹了解決Dubbo應(yīng)用啟動(dòng)注冊(cè)ZK獲取IP慢的原因之一,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04談?wù)剬?duì)Java多態(tài)性的一點(diǎn)理解
多態(tài)就是指程序中定義的引用變量所指向的具體類型和通過(guò)該引用變量發(fā)出的方法調(diào)用在編程時(shí)并不確定,而是在程序運(yùn)行期間才確定,即一個(gè)引用變量倒底會(huì)指向哪個(gè)類的實(shí)例對(duì)象,該引用變量發(fā)出的方法調(diào)用到底是哪個(gè)類中實(shí)現(xiàn)的方法,必須在由程序運(yùn)行期間才能決定2017-08-08MyBatis Properties及別名定義實(shí)例詳解
這篇文章主要介紹了MyBatis Properties及別名定義實(shí)例詳解,需要的朋友可以參考下2017-08-08java 學(xué)習(xí)筆記(入門篇)_java的基礎(chǔ)語(yǔ)法
從基礎(chǔ)語(yǔ)法開(kāi)始,這個(gè)語(yǔ)法你也可以理解為英語(yǔ)或是漢語(yǔ)里面的語(yǔ)法,只不過(guò)大家各有各的特點(diǎn)和區(qū)別;那么在學(xué)習(xí)的過(guò)程中我們就要不斷的積累重要的類和方法,這樣寫(xiě)程序就會(huì)方便快捷了,下面就開(kāi)始學(xué)習(xí)java的基礎(chǔ)語(yǔ)法2013-01-01