Jenkins+maven持續集成的實現

環境

系統: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

導入密鑰

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可執行文件,/usr/local/jbreport/jdk1.8.0_152/bin/java 

在這裡插入圖片描述

註意:如果服務器上自帶瞭openjdk,或者已有jdk環境。那麼可以使用which java 查看所在的位置,在/etc/init.d/jenkins中根據所在位置配置即可

在這裡插入圖片描述

保存後 重新加載一下服務

systemctl daemon-reload

啟動Jenkins

systemctl restart jenkins

查看運行狀態

systemctl status jenkins

在這裡插入圖片描述

開通Jenkins默認端口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

根據頁面提示到服務器去查看/var/lib/jenkins/secrets/initialAdminPassword文件
cat /var/lib/jenkins/secrets/initialAdminPassword

在這裡插入圖片描述

安裝插件

安裝推薦的插件

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

下載插件

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

下載源碼插件

源碼在git上的下載Git plugin插件(我這裡默認已經安裝瞭)
源碼在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

創建一個倉庫目錄

cd apache-maven-3.5.4/
mkdir repo

移動到自己喜歡的位置
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環境變量

vi /etc/profile

在文件末尾添加maven所在位置的環境變量
MAVEN_HOME=/usr/local/jbreport/maven
export PATH=${MAVEN_HOME}/bin:${PATH}

保存後刷新一下環境變量,並驗證maven環境
source /etc/profile
mvn -v

在這裡插入圖片描述

在這裡插入圖片描述

配置maven源和本地倉庫

vi /etc/profile

在文件末尾添加maven所在位置的環境變量
MAVEN_HOME=/usr/local/jbreport/maven
export PATH=${MAVEN_HOME}/bin:${PATH}

保存後刷新一下環境變量,並驗證maven環境
source /etc/profile
mvn -v

在這裡插入圖片描述

在這裡插入圖片描述

創建自動構建任務

新建一個任務

在這裡插入圖片描述

取一個好聽的名字,選擇maven項目,點擊確定

在這裡插入圖片描述

配置

勾選丟棄舊的構建

在這裡插入圖片描述

源碼管理我選擇瞭SVN
Repository URL : 源碼地址
Credentials : 憑據,也就是svn的賬號密碼,點擊後面添加按鈕添加一個
下面幾個可以不用管瞭

在這裡插入圖片描述

在這裡插入圖片描述

勾選構建之前刪除舊的工作空間

在這裡插入圖片描述

build 配置

在這裡插入圖片描述

保存配置

在這裡插入圖片描述

在這裡插入圖片描述

全局工具配置

在這裡插入圖片描述

maven-settings.xml配置

在這裡插入圖片描述

在這裡插入圖片描述

jdk配置

在這裡插入圖片描述

在這裡插入圖片描述

maven配置

在這裡插入圖片描述

在這裡插入圖片描述

保存配置

在這裡插入圖片描述

嘗試構建一次

發現不能刪除自定義空間,於是給jenkins用戶授予root權限
vi /etc/sysconfig/jenkins
找到如下行:
將原來的jenkins用戶修改為 root用戶。
$JENKINS_USER="root"
修改Jenkins相關文件夾用戶權限,更改jenkins三個文件夾的用戶所有都和用戶組:
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

再次構建成功

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

Post Steps

上面我已經構建成功瞭
但構建的目錄是自定義的 /usr/local/jbreport/workspace
即目前通過maven編譯後的class文件都還在此目錄中
所以下面需要通過Post Steps
把maven編譯的class移動替換到tomcat的webapps下對應的項目中

在這裡插入圖片描述

在這裡插入圖片描述

在Post Steps中編寫自動化腳本

在這裡插入圖片描述
在這裡插入圖片描述

腳本解釋

停止tomcat服務
systemctl stop tomcat

刪除tomcat下webapps下ROOT項目中的所有內容
rm -rf /usr/local/jbreport/apache-tomcat-8.5.57/webapps/ROOT/*

把構建空間中項目target目錄中的WEB-INF和META-INF復制到tomcat中ROOT項目裡
cp -r /usr/local/jbreport/workspace/target/jbreport-application/* 	/usr/local/jbreport/apache-tomcat-8.5.57/webapps/ROOT/

啟動tomcat服務
systemctl start tomcat 

再次構建並驗證

構建成功
查看tomcat中ROOT項目中文件的日期都是最新,證實ROOT已更新為最新代碼

到此這篇關於Jenkins+maven持續集成的實現的文章就介紹到這瞭,更多相關Jenkins+maven持續集成內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!