shell 打包发布脚本
#!/bin/bash
#author cl*
CODE_DIR="codedir"
PACKAGED_NAME="packagename"
GIT_PROJECT_NAME="projectname"
GIT_BRANCH_NAME="branchname"
APP_DEPLOY_PATH="deploypath"
PROFILE="prd"
PORT=9096
#如果任何语句的执行结果不是 true 则应该退出
set -e
#git 初始化配置,配置后,无需手动输入用户名及密码即可从指定 git 管理代码
function gitinit(){
echo "start gitinit..."
cd ~/
touch .git-credentials
echo "http://username:password@xxx.xxx.xxx.xxx" > .git-credentials
git config --global credential.helper store
#执行此句后 ~/.gitconfig 文件多了一项 [credential] helper = store
echo "finish gitinit..."
}
#pull and package gitcodeResource
function package(){
echo "start pull git resource code..."
rm -rf ./$CODE_DIR
git clone http://xxx.xxx.xxx.xxx/Card/$GIT_PROJECT_NAME.git
cd ./$CODE_DIR
git checkout $GIT_BRANCH_NAME
echo "git checkout succeed ..."
echo "starting packaging app ..."
mvn clean package -Dmaven.test.skip=true
echo "packaging app success ..."
}
#code deploy
function deploy(){
cd $APP_DEPLOY_PATH
shutdown
echo "rename last version..."
if [ -f $PACKAGED_NAME.jar ]
then
mv $PACKAGED_NAME.jar $PACKAGED_NAME'_'`date +%Y%m%d%H%M%S`.jar
fi
echo "copy jar..."
cp $APP_DEPLOY_PATH/$CODE_DIR/target/$PACKAGED_NAME.jar $APP_DEPLOY_PATH
echo "start member@"$PORT
startup
}
#app shutdown
function shutdown(){
PID=$(ps -ef | grep $PACKAGED_NAME.jar | grep -v grep | awk '{print $2}')
if [ -z "$PID" ]
then
echo Application is already stopped
else
echo kill $PID
kill -9 $PID
fi
}
#app startup
function startup(){
echo "startuping"$GIT_BRANCH_NAME"..."
export JAVA_HOME=$JAVA_HOME
nohup java -server -Xms512M -Xmx512M -Xss256k \
-XX:+UseStringDeduplication \
-XX:+HeapDumpOnOutOfMemoryError \
-jar $PACKAGED_NAME.jar \
--server.port=$PORT \
--spring.profiles.active=$PROFILE \
> /dev/null 2>&1 &
echo "startuping success ..."
echo "打开端口:"$PORT"..."
firewall-cmd --zone=public --add-port=$PORT/tcp --permanent
}
#pring helpinfo
function help(){
echo "Usage: ./onekey.sh [gitinit|package|deploy|startup|shutdown|help]"
echo "gitinit: 初始化 git 设置"
echo "package: 程序打包"
echo "deploy: 程序发布"
echo "startup: 程序启动"
echo "shutdown: 程序关闭"
echo "help: 打印帮助信息"
}
case "$1" in
'gitinit')
gitinit
;;
'package')
package
;;
'deploy')
deploy
;;
'startup')
startup
;;
'shutdown')
shutdown
;;
'help')
help
;;
*)
esac
exit 0
作者:flhuoshan
链接:https://hacpai.com/article/1513239674815
来源:黑客派
协议:CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0
静态资源版本打包
使用gulp解决Web项目中静态资源版本更新与缓存 - 无忌的个人空间 - 开源中国