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!
推薦閱讀:
- 騰訊雲部署javaWeb項目的實現步驟
- 使用jenkins配置maven和JDK
- Linux系統中Tomcat環境配置方式
- 騰訊雲服務器搭建Jenkins詳細介紹
- docker搭建jenkins+maven代碼構建部署平臺