Jenkins 服務搭建
安裝jenkins
準備條件(版本2.0左右的都要jdk 1.8 否則跑不起來)
- jenkins-2.116-1.1.noarch.rpm
- jdk1.8
安裝 jenkins
rpm -ih jenkins-2.9-1.1.noarch.rpm
自動安裝完成之後:
/usr/lib/jenkins/jenkins.war WAR包
/etc/sysconfig/jenkins 配置文件
/var/lib/jenkins/ 默認的JENKINS_HOME目錄,在第一次啓動之前是沒有文件的,啓動初始化之後纔會有文件
/var/log/jenkins/jenkins.log Jenkins日誌文件
配置啓動權限,和端口
vi /etc/sysconfig/jenkins
啓動jenkins: service jenkins start
重啓jenkins: service jenkins restart
訪問jenkins;http://ip:prot
打開圖中的地址,複製密碼
點擊繼續,選擇默認安裝的插件,之後設置第一個用戶;然後完成
配置jenkins
安裝插件,幾個比較重要的插件,maven publish over SSH
系統管理-系統設置
系統管理-全局工具配置
Maven setting.xml 配置
、
JDK配置
Maven 配置
新建任務發佈
1、新建任務名稱
啓用項目安全,可以做用戶構建權限控制,不同的用戶登錄看到不同項目,賦予不同操作權限
參數化構建
選擇分支構建
指定分支構建
2、從相應的代碼管理平臺下載代碼
構建觸發器
可以什麼都不選,也可以設置定時構建
定時構建
3、構建maven 工程
選擇配置的maven
Maven 命令;先clean 在install 跳過測試
clean install -Dmaven.test.skip=true
項目中的pom 路徑
/var/lib/jenkins/workspace/openapi-server/kronos-comm/pom.xml
jenkins下面的workspace 找到相應的pom文件
自動替換文件
如果需要在構建項目的時候替換掉某些文件(例如測試環境的jdbc 、application.properties自動替換)
注意替換的時候的執行順序,別war包都打好了纔去替換文件,沒有任何意義
附帶一個windows 版本jenkins的執行腳本
4、發佈到服務器
將war 包上傳到服務器指定目錄,殺死tomcat 進程,並啓動
Transfer set 轉移裝置
Source files:源文件
Remove prefix:刪除前綴
Remote directory:根目錄
Exec command 編輯命令
tomcat腳本命令
cd /root/work-tomcat/apache-tomcat-pda/build/
mv kronos-server.war ROOT.war
cd /root/work-tomcat/apache-tomcat-pda
#kill tomcat pid
pidlist=`ps -ef|grep /root/work-tomcat/apache-tomcat-pda/ |grep -v "grep"|awk '{print $2}'`
if [ "$pidlist" = "" ]
then
echo "no tomcat pid alive!"
else
echo "tomcat Id list :$pidlist"
kill -9 $pidlist
echo "KILL $pidlist:"
echo "service stop success"
fi
sleep 10
if ! [ -d ./bak ];then
mkdir bak
fi
if [ -d ./webapps/ROOT ];then
tar zcf ROOT_bak_`date +%Y%m%d`.tar.gz webapps/ROOT
mv ROOT_bak*.tar.gz bak/
rm -rf webapps/ROOT
fi
cp /root/work-tomcat/apache-tomcat-pda/build/*.war /root/work-tomcat/apache-tomcat-pda/webapps/ROOT.war
rm -rf work/Catalina
sh bin/startup.sh
靜態文件解壓命令(發佈靜態文件使用)
cd /home/pda-web/build
rm -rf www/*
cp /home/pda-web/build/*.tar /home/pda-web/www.tar
cd /home/pda-web
tar -xvf www.tar
rm -rf www.tar
rm -rf build
構建後操作(可以觸發構建其他項目)