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
開通Jenkins默認(rèn)端口8080
firewall-cmd --add-port=8080/tcp --permanent firewall-cmd --reload firewall-cmd --permanent --query-port=8080/tcp
瀏覽器訪問:http://192.168.31.170:8080
配置Jenkins
解鎖Jenkins
根據(jù)頁面提示到服務(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è)倉庫目錄
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源和本地倉庫
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è)好聽的名字,選擇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 找到如下行: 將原來的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 即目前通過maven編譯后的class文件都還在此目錄中 所以下面需要通過Post Steps 把maven編譯的class移動(dòng)替換到tomcat的webapps下對應(yīng)的項(xiàng)目中
在Post Steps中編寫自動(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Springboot前后端分離項(xiàng)目配置跨域?qū)崿F(xiàn)過程解析
這篇文章主要介紹了Springboot前后端分離項(xiàng)目配置跨域?qū)崿F(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08RestTemplate使用不當(dāng)引發(fā)的問題及解決
這篇文章主要介紹了RestTemplate使用不當(dāng)引發(fā)的問題及解決,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(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)注冊ZK獲取IP慢的原因之一
這篇文章主要介紹了解決Dubbo應(yīng)用啟動(dòng)注冊ZK獲取IP慢的原因之一,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-04-04MyBatis Properties及別名定義實(shí)例詳解
這篇文章主要介紹了MyBatis Properties及別名定義實(shí)例詳解,需要的朋友可以參考下2017-08-08java 學(xué)習(xí)筆記(入門篇)_java的基礎(chǔ)語法
從基礎(chǔ)語法開始,這個(gè)語法你也可以理解為英語或是漢語里面的語法,只不過大家各有各的特點(diǎn)和區(qū)別;那么在學(xué)習(xí)的過程中我們就要不斷的積累重要的類和方法,這樣寫程序就會(huì)方便快捷了,下面就開始學(xué)習(xí)java的基礎(chǔ)語法2013-01-01