1. 程式人生 > >Jenkins+Maven+Gitlab構建自動化部署專案

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. 控制檯輸出