jenkins 遠程部署項目 及常用腳本

背景

一個ssm項目通過jenkins在服務器中部署,項目服務器和Jenkins服務器不在一起,代碼通過gitlab進行管理。

通過 jekins 部署項目,shell 腳本是不可或缺的部分。


在Jenkins的配置項目服務器

在jenkins中添加 項目服務器的地址等信息,打開系統管理的系統配置

有一個 Http Servers 的選項,點擊新增
在這裏插入圖片描述
此時:點擊下邊按鈕進行,如果出現 success ,則說明配置成功!
在這裏插入圖片描述


在jenkins配置 maven 、git

1、在系統管理的全局工具配置

注意: maven/conf/settings.xml 路徑不能寫錯,不然代碼拉不下來。
在這裏插入圖片描述

2、配置git,就是寫個名字,寫上jenkins服務器git的路徑

在這裏插入圖片描述



創建一個maven項目

新建任務,選在maven項目,我的Jenkins版本是 Jenkins ver. 2.176.3

核心配置:
在這裏插入圖片描述

構建後配置
在這裏插入圖片描述
常用的shell 腳本:

情景假設:
1、項目打包後的名字爲:eric.war

shell解讀:
1、查出已經部署的此項目的進程,並殺死
2、刪除之前的eric項目文件以及壓縮包(項目一定會多次部署)
2、將war複製到tomcat的webapps目錄下
3、啓動tomcat

#!/bin/sh
tomcat_path=/home/admin/tomcat # 服務器中 tomcat 的路徑
project_web=$tomcat_path/eric.war # 包含 war 的路徑

if [ -f $project_web ] ;then 
	echo -- stop tomcat
	#  殺死 tomcat 進程
	pidlist=`ps -ef | grep tomcat | grep -v grep | awk '{print $2}'`
	if [ "$pidlist" = "" ]
		then
		echo "no tomcat pid alive!"
	else
	   	echo "tomcat Id list :$pidlist"
	   	kill -9 $pidlist
	   	echo "tomcat stop success"
	fi 
    echo -- 正在部署$project_web
    # 如果存在 war 存在
    if [ -f $tomcat_path/webapps/eric.war ] ;then
        rm -f $tomcat_path/webapps/eric.war 
        rm -rf $tomcat_path/webapps/eric # 刪除項目war以及文件夾
        echo -- 正在刪除$project_web
    fi 
    	# 拷貝新的war包
        cp $project_web $tomcat_path/webapps/eric.war
    # start tomcat - 啓動tomcat
    echo $tomcat_path
    export JAVA_HOME=/usr/lib/jvm/jdk	
    ${tomcat_path}/bin/startup.sh 
else 
echo $BUILD_ID - 未找到$project_web
fi


簡單總結,如果不足歡迎大家指出交流!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章