【原创】jenkins+maven自动部署脚本

jenkins+maven自动部署脚本



2019-02-01 09:34:38

  前提,所有主机都做了免密登录操作,相信下面的版本大家应该可以看得明白,我是两台服务器,但只放开了一个服务器的配置,原理很简单:

  1.配置一些经常变化的变量

  2.进入svn下载下来的源代码空间目录,然后编译

  3.远程备份文件(很重要)

  4.进入编译后的文件夹target,将文件拷贝至远程生产主机

  5.远程重启服务,搞定!

 

#!/bin/bash
source /etc/profile
#基础环境变量
SERVER_232="43.254.1.232"
SERVER_194="49.4.14.194"
USER="root"
PORT_22232="22232"
PORT_22194="22194"
HOME="/crccmall2.0"
LOG_PATH="/crccmall-log"
BACK_232="/log/jenkins-back/"
BACK_194="/vdb1/jenkins-back/"
start_mian="java -jar -Xms2048m -Xmx2048m -XX:+UseParallelGC -XX:+UseAdaptiveSizePolicy"
TIME=`date +%F`
APP=microservice-authorization-server-1.0.1-SNAPSHOT.jar
log_dir_name=`echo ${APP} | awk -F ".jar" ‘{print $1}‘`
#进入编译文件目录
cd microservice-authorization-server
#编译文件clean
mvn package -Dmaven.test.skip=true
#进入编译后jar包所在文件夹
cd target

echo ""
echo "============================================【正在备份${APP}文件到${BACK_232}】============================================"
echo ""
ssh -p ${PORT_22232} ${USER}@${SERVER_232} "cp ${HOME}/${APP} ${BACK_232}${APP}‘_‘${TIME}"
if [ $? -eq 0 ];then
	echo "信息:${APP}文件 【备份成功】"
else
	echo "警告:${APP}文件 【备份失败】"
fi
echo ""
echo "============================================【正在拷贝${APP}文件到${SERVER_232}服务器中】============================================"
echo ""
scp -P ${PORT_22232} ${APP} ${USER}@${SERVER_232}:${HOME}/${APP}
if [ $? -eq 0 ];then
	echo "信息:${APP}文件 【拷贝成功】"
else
	echo "警告:${APP}文件 【拷贝失败】"
fi
echo ""
echo "==============================================【正在重启${APP}项目,请稍后】==============================================="
echo ""
/usr/bin/ssh -p ${PORT_22232} ${USER}@${SERVER_232} "ps -ef | grep -w ${APP} | grep -v grep | awk  ‘{print "kill -9 " $2}‘|sh"
/usr/bin/ssh -p ${PORT_22232} ${USER}@${SERVER_232} "su ectocyst -c "nohup ${start_mian} ${HOME}${APP} >> ${LOG_PATH}/${log_dir_name}.log &""
if [ $? -eq 0 ];then
	echo "信息:${APP}文件 【重启成功】"
else
	echo "警告:${APP}文件 【重启失败】"
fi
#echo ""
#echo "============================================【正在备份${APP}文件到${BACK_194}】============================================"
#echo ""
#ssh -p ${PORT_22194} ${USER}@${SERVER_194} "cp ${HOME}/${APP} ${BACK_194}${APP}‘_‘${TIME}"
#if [ $? -eq 0 ];then
#	echo "信息:${APP}文件 【备份成功】"
#else
#	echo "警告:${APP}文件 【备份失败】"
#fi
#echo ""
#echo "============================================【正在拷贝${APP}文件到${SERVER_194}服务器中】============================================"
#echo ""
#scp -P ${PORT_22194} ${APP} ${USER}@${SERVER_194}:${HOME}/${APP}
#if [ $? -eq 0 ];then
#	echo "信息:${APP}文件 【拷贝成功】"
#else
#	echo "警告:${APP}文件 【拷贝失败】"
#fi
#echo ""
#echo "============================================【${APP}项目重启中】============================================"
#echo ""
#/usr/bin/ssh -p ${PORT_22194} ${USER}@${SERVER_194} "ps -ef | grep -w ${APP} | grep -v grep | awk  ‘{print "kill -9 " $2}‘|sh"
#/usr/bin/ssh -p ${PORT_22194} ${USER}@${SERVER_194} "su ectocyst -c "nohup ${start_mian} ${HOME}${APP} >> ${LOG_PATH}/${log_dir_name}.log &""
#if [ $? -eq 0 ];then
#	echo "信息:${APP}文件 【重启成功】"
#else
#	echo "警告:${APP}文件 【重启失败】"
#fi

  

  

原文地址:https://www.cnblogs.com/quguoliang2018/p/10344883.html

时间: 2024-10-11 08:10:15

【原创】jenkins+maven自动部署脚本的相关文章

Jenkins job的自动部署脚本

Jenkins job的自动部署脚本 需求: 1.从Jenkins的workspace中,将编译好的Java代码部署到D:\zzinfo\UserCenterCoordinator中 2.部署过程中,需要停止相关联的其他进程,如5558_CENTER64.exe | 5559_CENTER64_UserList.exe | APNs.exe 代码如下: #!/usr/local/env python3 # -*- coding:utf-8 -*- # author by Michael Ho #

(转)maven自动部署web项目到tomcat8(向下兼容7)

maven自动部署web项目到tomcat8(向下兼容7) 2014-08-29 10:52 网站上线以后,为了保证网站运行的连续性,有新功能更新时,不能重启Tomcat服务器去部署新增功能.因此,就研 究一下用maven的自动部署功能. 1首先要保证自己电脑上装了Tomcat服务器 进入Tomcat安装目录,打开..\conf\tomcat-users.xml,在这个配置文件中加入以下内容: <role rolename="manager-gui"/> <role

maven 自动部署war(项目)到tomcat

1.软件版本 apache-tomcat-7.0.55 apache-maven-3.2.2 eclipse-standard-luna-R-win32-x86_64 2.修改文件 2.1 tomcat  tomcat-users.xml 增加如下用户 角色 manager-script manager-script - Access to the tools-friendly plain text interface that is described in this document, an

使用Maven自动部署Java Web项目到Tomcat问题小记

导读 首先说说自己为啥要用maven管理项目,一个直接的原因是:我在自己电脑上开发web项目,每次部署到服务器上时都要经历如下步骤: 首先在Eclipse里将项目打包成war包 将服务器上原来的项目文件夹删掉 cd /var/lib/tomcat7/webapps sudo rm XXX.war sudo rm -rf XXX 将war包传到服务器上,比如用pscp命令上传 pscp -pw "xxx" XXX.war [email protected]:/var/lib/tomcat

maven自动部署项目以及常见问题解决

Maven自动部署war到Tomcat1. 在maven项目的pom里配置如下信息 <build> <finalName>dianxiao</finalName> <!-- WAR包的名字 --> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>tomcat-maven-plugin</artifactId

maven自动部署到tomcat的问题

最近需要使用Maven将项目自动部署到Tomcat,在网络上也查找了很多文章,内容大同小异,今天打算在这里给自己做一个小总结 参考网址:http://blog.csdn.net/dilaomimi/article/details/6955850 我使用的环境是:Eclipse Java EE IDE for Web Developers(Helios Service Release 1) apache-tomcat-6.0.10 apache-maven-2.2.1 通常的做法是这样的 1.配置

rsyslog客户端自动部署脚本,经测试使用正常

自动写的rsyslog客户端自动配置脚本,经测试正常使用 #!/bin/bash #Install & Config the rsyslog #Release 0.3 #date 2016.10.10 #set -x #此脚本为log自动部署脚本 #版本较早系统自带syslog,较新版本自带rsyslog #手动配置如下, #在/etc/rsyslog中追加以下配置,然后重启/etc/init.d/rsyslog restart #  user.* @172.16.16.20 #  authpr

Maven自动部署war到Tomcat6

Maven自动部署war到Tomcat 软件版本:tomcat6.maven3 1.  在maven项目的pom里配置如下信息 <build> <finalName>spring_web</finalName> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>tomcat-maven-plugin</artifactI

自动部署脚本-bash

from here !/bin/bash Check if user is root if [ $(id -u) != "0" ]; then Echo_Red "Error: You must be root to run this script" exit 1 fi . common.sh . basic_soft.sh . config_soft.sh paths config current_path=pwd config_path=$current_pat