使用shell脚本打包运行java环境

背景

目前团队刚组,环境部署一片混乱。本来想搭建 jks+docker+gitlab+maven 组件一套自动化部署的。但是这块任务并未交给我做。我对同事搭建的服务也确实不满意。部署麻烦,每次都是半个小时。我都不想说啥。一直给我说k8s。2个月了连个日志收集都还做好,我也不好说的。为了自己方便花了我花了1个多小时自己找了服务器搭建了一个临时环境和shell脚本。

准备工作

  1. jdk运行环境
  2. gitlab安装
  3. maven安装
  4. 项目

编写脚本

#!/bin/bash
# 部署路径及项目名称
DEPLOY_PATH="/home/pg-pool/jars/"
APP_NAME="api-core"

tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'Stop Process...'
    kill -15 $tpid
fi
sleep 5

tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'Kill Process!'
    kill -9 $tpid
else
    echo 'Stop Success!'
fi

sleep 2
rm -rf ${DEPLOY_PATH}${APP_NAME}.jar
# git项目拉取路径及账号密码
git clone http://6666%40qq.com:1111@192.168.3.22:8099/bfs/${APP_NAME}.git
cd $APP_NAME
mvn clean package -Dmaven.test.skip=true
cd target
mv ${APP_NAME}.jar ${DEPLOY_PATH}
cd ..
cd ..
rm -rf ${APP_NAME}

nohup java -jar -Dspring.profiles.active=prd ${DEPLOY_PATH}${APP_NAME}.jar >/dev/null 2>&1&
echo 'starting......'
sleep 2
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'start success!'
else
    echo 'start failed!'
fi

注意事项

  • 脚本需要跟jar包在同意环境下
  • 需要修改的地方,已经变量配置好了.每次修改需要修改的就变量和gitlab地址
package generconfig; import java.io.File; import java.io.IOException; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import org.mybatis.generator.api.MyBatisGenerator; import org.mybatis.generator.config.Configuration; import org.mybatis.generator.config.xml.ConfigurationParser; import org.mybatis.generator.exception.InvalidConfigurationException; import org.mybatis.generator.exception.XMLParserException; import org.mybatis.generator.internal.DefaultShellCallback; import org.springframework.context.support.GenericXmlApplicationContext; import com.pactera.service.schedule.ThreadReadPath; import com.pactera.util.CommTool; /*打包用File->Export->runnable JAR File Export Launch选择对应的类 Export destination 选择地址 Library handling:Copy required */ public class SMSThreadSender { public static void main(String[] args) { if(args.length==0) { System.out.println("短信服务开启,开始加载Spring配置。"); GenericXmlApplicationContext context = new GenericXmlApplicationContext(); context.setValidating(false); context.load("classpath:sysconfig/applicationContext.xml"); context.refresh(); System.out.println("开整·~~~~"); CommTool.smsthreadisruning=true; ThreadReadPath thread = new ThreadReadPath(); thread.smsname="sms"+CommTool.threadid; Thread t1 = new Thread(thread); t1.setName("sms"); t1.start(); System.out.println("已经启动"); } if(args.length==1) { String pfile=args[0]; System.out.println("短信服务开启,开始加载Spring配置。"+pfile); GenericXmlApplicationContext context = new GenericXmlApplicationContext(); context.setValidating(false); context.load(pfile); // context.load("classpath:sysconfig/applicationContext.xml"); context.refresh(); CommTool.smsth
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值