欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

jenkins 远程部署项目 及常用脚本

程序员文章站 2022-06-17 17:37:32
...

背景

一个ssm项目通过jenkins在服务器中部署,项目服务器和Jenkins服务器不在一起,代码通过gitlab进行管理。

jenkins 远程部署项目 及常用脚本


在Jenkins的配置项目服务器

在jenkins中添加 项目服务器的地址等信息,打开系统管理的系统配置

有一个 Http Servers 的选项,点击新增
jenkins 远程部署项目 及常用脚本
此时:点击下边按钮进行,如果出现 success ,则说明配置成功!
jenkins 远程部署项目 及常用脚本


在jenkins配置 maven 、git

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

注意: maven/conf/settings.xml 路径不能写错,不然代码拉不下来。
jenkins 远程部署项目 及常用脚本

2、配置git,就是写个名字,写上jenkins服务器git的路径

jenkins 远程部署项目 及常用脚本



创建一个maven项目

新建任务,选在maven项目,我的Jenkins版本是 Jenkins ver. 2.176.3

核心配置:
jenkins 远程部署项目 及常用脚本

构建后配置
jenkins 远程部署项目 及常用脚本
常用的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


简单总结,如果不足欢迎大家指出交流!