背景

目前团队刚组,环境部署一片混乱。本来想搭建 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地址
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐