使用shell脚本打包运行java环境
背景目前团队刚组,环境部署一片混乱。本来想搭建 jks+docker+gitlab+maven 组件一套自动化部署的。但是这块任务并未交给我做。我对同事搭建的服务也确实不满意。部署麻烦,每次都是半个小时。我都不想说啥。一直给我说k8s。2个月了连个日志收集都还做好。反正为了自己方便花了1个多小时搭建了一个临时环境和shell脚本。准备工作jdk运行环境gitlab安装maven安装项目编写脚本#!
·
背景
目前团队刚组,环境部署一片混乱。本来想搭建 jks+docker+gitlab+maven 组件一套自动化部署的。但是这块任务并未交给我做。我对同事搭建的服务也确实不满意。部署麻烦,每次都是半个小时。我都不想说啥。一直给我说k8s。2个月了连个日志收集都还做好,我也不好说的。为了自己方便花了我花了1个多小时自己找了服务器搭建了一个临时环境和shell脚本。
准备工作
- jdk运行环境
- gitlab安装
- maven安装
- 项目
编写脚本
#!/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地址
更多推荐
已为社区贡献1条内容
所有评论(0)