Jenkins(六).自动构建发布springboot项目

注意:

springboot项目打包的两个方式

jar包

war包

如果是打war包,项目启动服务器还需要安装tomcat

具体细节可参考:

Jenkins之路(二):使用Jenkins自动部署SpringBoot项目(svn篇)

Jenkins之路(三):使用Jenkins自动部署SpringBoot项目(Github篇)

jenkins本地服务器构建:https://blog.csdn.net/weferxe/article/details/88827697
远程服务器构建(不在jenkins本地服务器):https://blog.csdn.net/hyh17808770899/article/details/108963225

主要在于

1.构建:通过maven打包项目

2.构建后的操作:通过maven打包好的jar包发送到目标服务器

3.启动脚本

常规:

export JAVA_HOME PATH CLASSPATH
JAVA_HOME=/home/java/jdk1.8.0_251 #你自己的jdk路径
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH

echo "  =====关闭Java应用======"
PROCESS=`ps -ef |grep java |grep -v grep|grep /home/project/JenkinTest.jar|awk '{print $2}'`
for i in $PROCESS
do
  echo "Kill the $1 process [ $i ]"
  kill -9 $i
done
echo "  =====启动Java应用======"
nohup java -jar /home/project/JenkinTest.jar  > /home/test/out.log 2>&1 & 
echo $! > savePid.txt
cat savePid.txt
rm  savePid.txt

springboot项目不同环境对应配置项启动: 

LOG=/home/jenkins/fabu.log
echo "---------------------------------------" >> $LOG
date >>$LOG


c_time=`date +%Y-%m-%d-%H%M%S`

work_dir="/home/jenkins/test-gift-pc-shop"

tomcat_name="tomcat8-test-shop"
product_name="gift-pc-shop"

src_dir="/home/appdev/$tomcat_name/webapps/$product_name"
dst_dir="/home/jenkins/back/$product_name-"$c_time


###########################################

cd $work_dir

mv -f $src_dir $dst_dir
echo "mv $src_dir  -->  $dst_dir" >> $LOG

mkdir $src_dir

war_file=`ls *.war`
#cur_version=`echo $war_file|cut -f2 -d'_' | cut -f1-3 -d'.'`

echo "$war_file | $cur_version " >> $LOG

unzip -qq $work_dir/$war_file -d $src_dir
echo "unzip $work_dir/$war_file | $cur_version --> $src_dir" >> $LOG


/bin/sh /home/appdev/$tomcat_name/bin/shutdown.sh
kill -9 $(ps -ef | grep tomcat | grep  $tomcat_name | grep -v grep | awk '{print $2}')
echo "stop tomcat" >> $LOG
sleep 10


echo "copy applicate config to webapps" >> $LOG
cp -f $work_dir/application.yml  /home/appdev/$tomcat_name/webapps/$product_name/WEB-INF/classes/application.yml

cp -f $work_dir/config.properties  /home/appdev/$tomcat_name/webapps/$product_name/WEB-INF/classes/config.properties

cp -f $work_dir/application-redis.properties  /home/appdev/$tomcat_name/webapps/$product_name/WEB-INF/classes/application-redis.properties

cp -f $work_dir/application-activemq.properties  /home/appdev/$tomcat_name/webapps/$product_name/WEB-INF/classes/application-activemq.properties

echo "copy weixin config" >> $LOG
cp -f $work_dir/*.txt /home/appdev/$tomcat_name/webapps/$product_name/

echo "rm work dir" >> $LOG
rm -rf /home/appdev/$tomcat_name/work/Catalina/localhost/*

echo "rm temp dir" >> $LOG
rm -rf /home/appdev/$tomcat_name/temp/*

#chown -R appdev:appdev $src_dir
#date >>$LOG
#echo "chown ok" >> $LOG

/home/appdev/$tomcat_name/bin/startup.sh
#su - appdev -c "/bin/sh /home/appdev/$tomcat_name/bin/startup.sh"
date >>$LOG
echo "start tomcat" >> $LOG
echo "" >> $LOG

now_dir="/home/jenkins/now/"
org_file="$work_dir/$war_file"

/bin/mv -f $org_file $now_dir
echo "clean $org_file" >> $LOG
echo "all down" >> $LOG
echo "" >> $LOG


##################################
# start change nginx config

# just no need to do nothing

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值