jenkins+git+maven搭建项目自动化持续集成
2019獨角獸企業重金招聘Python工程師標準>>>
1.概要說明
? ? 為了開發人員和測試人員的解耦,讓開發和測試流程更加便捷,所以采用jenkins+git+maven這套可持續性集成方案。
? ? 下圖(圖1)是設計圖:
?
?
?
?
?
?
?
?
?
?
?
????????????????????????????????????????? ? ? ? ? ?
????????????????????????????????????????????????????圖1
2.準備工作
- centos6+
- jdk-8u191-linux-x64.tar.gz
- apache-maven-3.5.0-bin.tar.gz
- apache-tomcat-8.5.35.tar.gz
- jenkins.war2.150.1
服務器a.b.c的系統均是centos6.5、jdk用的1.8、服務器B的maven版本是3.5(用于jenkins構建項目時打包)、服務器B部署的jenkins是最新版本的jenkins2.150.X(X表示小版本號)。
3.具體實施
第一步:在服務器上安裝jdk8,需要在profile加入全局環境變量(vim /etc/profile),當然也可以加針對用戶的環境變量(vim ~/profile)兩者配置一項,我采用的是全局環境變量
在服務器B上需要安裝maven同樣需要配置環境變量同時需要修改maven的setting.xml配置倉庫地址和鏡像地址(不懂可以自行百度)。在服務器C上安裝tomcat,適當的修改tomcat的service.xml的配置文件(不懂可以自行百度),可以修改服務默認端口等,同時查看服務器的防火墻中是否開放了對應的端口,以免服務無法訪問(vim??/etc/sysconfig/iptables按照22的格式添加端口然后重啟iptables即可,防火墻不會配置可以自行學習,簡單的。)。在服務器B上同樣步驟配置tomcat,配置好后,執行startup.sh文件測試,若能夠正常啟動,將tomcat目錄下的webapp文件夾下的內容清空,將jenkins.war放入改目錄下,啟動jenkins,然后訪問http://ip:port/jenkins/ 若顯示界面則啟動成功,進入界面先要安裝一些插件,插件不會安裝可自行百度,教程很多,順便說一句,jenkins最主要的就是靈活運用各種插件。
| #java export JAVA_HOME=/usr/java/jdk1.8.0_191 export JRE_HOME=/usr/java/jdk1.8.0_191/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH # maven export MAVEN_HOME=/usr/maven/apache-maven-3.5.0 export MAVEN_HOME export PATH=$PATH:$MAVEN_HOME/bin |
第二步:配置服務器之間的ssh通訊協議,首先服務器B需要從服務器A獲取代碼,那么需要在服務器B上生成ssh密鑰對(可以參考下面的博客https://blog.csdn.net/yueludanfeng/article/details/79330276),我默認你已經會使用github了,若不會先學習一下在官網上簡單的注冊個賬號即可開通github,在個人的settings選項下配置ssh key將服務器B上的ssh密鑰的公鑰配置上去即可。服務器B需要通過ssh協議登陸服務器C從而傳輸構建好的war包到指定的tomcat目錄下并且執行一段啟動腳本。所以服務器B需要能夠免密登陸到服務器C,那么服務器C需要將服務器B產生的公鑰追加到authorized_keys文件中,authorized_keys文件在~/.ssh目錄下沒有需要自己新建一個。具體流程不會的可以參考博客(https://blog.csdn.net/chichuduxing/article/details/68491134),到目前為止,準備工作已經做完,jenkins可以正常啟動了,三臺服務器之間可以正常通訊了,剩下的就是具體怎么配置jenkins了。
第三步:配置jenkins,jenkins需要安裝一些有關maven與ssh的插件,Maven Integration plugin、Publish Over SSH第一個插件是用來創建maven項目的,第二個插件是用來配置ssh協議的。
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
? ? ? ????????????????????????????????????????????圖2
如圖2需要在系統管理里的全局工具中配置maven、git、jdk三個東西。
配置完后保存,返回系統管理頁面打開系統配置,需要在里面配置一下ssh。
第一欄可以不配置,Path to Key配置服務器B私鑰的地址,key配置服務器B私鑰的內容,然后創建一個ssh server 填寫服務器C的信息hostName配置ip, username配置登陸名,路徑寫tomcat的webapp路徑。配置完成后可以開始創建maven項目了。
第四步:創建一個maven風格的項目,名字什么的自己定義即可,創建完成后配置該項目需要配置的點有:general、Source Code Management、Build Triggers、Build、Post Steps
如上圖:general配置個名字即可自定、Source Code Management需要配置git,這里注意的是需要新建一個git的鑰匙串,Build Triggers照著勾選即可,Build需要配置maven命令clean package -Dmaven.test.skip=true,Post Steps這個比較重要需要配置項目發布的一些信息,和發布后執行的一個腳本,用來遠程控制服務器C啟動tomcat,腳本內容如下:
| #!/bin/sh TOMCAT_PATH=/Users/XXX/software/tomcat8.5.24-jenkins/bin echo "TOMCAT_PATH is $TOMCAT_PATH" PID=`(ps -ef | grep tomcat | grep -v "grep") | awk '{print $2}'` if [ "$PID" = "" ] then ? ? echo "tomcat is not run!" ? ? $TOMCAT_PATH/startup.sh else ? ? echo "stop tomcat!" ? ? kill -9 $PID ? ? PID1=`(ps -ef | grep tomcat | grep -v "grep") | awk '{print $2}'` ? ? if [ "$PID1" = "" ] ? ? ? ? then ? ? ? ? ? ? echo "restart tomcat!" ? ? ? ? ? ? $TOMCAT_PATH/startup.sh ? ? ? ? else ? ? ? ? ? ? echo "restart fail!" ? ? fi fi |
以上親自部署可以實施,有不足之處請大家包含以及指正,謝謝。
轉載于:https://my.oschina.net/Spider001/blog/2992892
總結
以上是生活随笔為你收集整理的jenkins+git+maven搭建项目自动化持续集成的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 加入谷歌的广告
- 下一篇: 阿里云Linux的mysql安装,使用y