Jenkins+Maven+Gitlab構建自動化部署專案
本次安裝部署是基於CentOS 7系統,填寫的一些路徑根據自己的實際情況進行調整。
1.下載
2.匯入
3.安裝
yum install jenkins
4.配置Java及埠
配置Java位置:
vi /etc/init.d/jenkins
/usr/local/jdk8/bin/java
配置埠-我配置的8081:
vi /etc/sysconfig/jenkins
5.啟動
systemctl daemon-reload
sudo service jenkins start
6.訪問ip:port --預設安裝外掛即可
ip:port
7.密碼
cat /var/lib/jenkins/secrets/initialAdminPassword
8.管理員
自定義管理員賬號密碼,一會兒登入使用
9.專案搭建-構建一個自由風格的軟體專案
9.1 系統管理全域性工具配置
9.1.1 JDK8
9.1.2 Git
9.1.3 Maven
9.2 外掛安裝-Deploy to container
9.3 專案配置
9.3.1 原始碼管理 --配置gitlab的ssh金鑰授權
9.3.2 定時觸發器:
- 每15分鐘執行一次 (可能在 1:07分, 1:22分, 1:37分, 1:52分)
H/15 * * * *
- 一個小時的前30分鐘,每10分鐘執行一次 (30分鐘, 可能在 4分,14分,24分)
H(0-29)/10 * * * *
- 每週一至週五,上午9:45到下午3:45,每隔2小時45分鐘執行一次
45 9-15/2 * * 1-5
- 每兩小時一次,每個工作日上午9點到下午5點
H H(9-17)/2 * * 1-5
- 除12月外,每月1號和15號每天一次
H H 1,15 1-11 *
9.3.3 構建maven/shell
9.3.3.1 jenkins部署指令碼許可權開通
10.部署到tomcat的shell指令碼
10.1 jenkins打包位置
/var/lib/jenkins/workspace/grid/target/grid.war
10.2 jenkins部署指令碼deploy.sh
#!/bin/bash
#deploy tomcat automatically
#path of war package
datapath=/var/lib/jenkins/workspace/grid/target/
#tomcat delpoy path
deploypath=/usr/local/tomcat/webapps
#tomcat restart.sh path
startpath=/usr/local/tomcat/bin
#kill tomcat
pid=$(ps aux | grep tomcat | grep -v grep | grep -v restart | grep ${bin} | awk '{print $2}')
if [ -n "${pid}" ]; then
echo "Shutdown..."
sh ${startpath}/shutdown.sh
sleep 3
pid=$(ps aux | grep tomcat | grep -v grep | grep -v restart | grep ${bin} | awk '{print $2}')
if [ -n "${pid}" ]; then
kill -9 ${pid}
sleep 1
fi
fi
echo "complete to kill tomcat"
#delete ever deployed war and unzip file
cd ${deploypath}
rm -rf grid/
rm -rf *.war
echo "complete to remove ever deployed war/file"
#cp .war to webapps
cd ${datapath}
cp grid.war ${deploypath}
echo "complete to cp war to webapps"
echo "sleep 3s"
sleep 3
#start tomcat
cd ${startpath}
echo "start to tomcat startup"
./startup.sh
11. 控制檯輸出