diff --git a/go.mod b/go.mod index 602f4a1..d5137e4 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module apigame -go 1.20.0 +go 1.20.1 require ( gitee.com/lxgow/lxconv v0.0.0-20230406110318-b5c75fb5ba53 diff --git a/sh/pre/api-game.sh b/sh/pre/api-game.sh new file mode 100644 index 0000000..6bbba79 --- /dev/null +++ b/sh/pre/api-game.sh @@ -0,0 +1,91 @@ + # !/bin/bash +if [ ! -n "$1" ]; then + echo "params error" + exit 1 +elif [ $1 != "start" -a $1 != "restart" -a $1 != "stop" ]; then + echo "please input start|stop|restart" + exit 2 +fi +env=pre +nowdate=`date +"%Y%m%d%H%M"` +execdir=/home/exec/merge/api/$nowdate +codedir=/home/code/go/merge/src/api-qixi +execname=api-qixi +execnewname=API_QIXI_$nowdate +ports=(60040) +codeport=80 +echo "${execname} script is begin...." +sleep 1s +# cd $codedir +for i in ${ports[@]}; +do + if [ $1 == "start" ];then + userport=`netstat -antp | grep ":${i}"` + if [ ${#userport} -gt 3 ]; then + echo "port ${i} is busy..." + break + fi + fi + if [ $1 == "start" -o $1 == "restart" ];then + #copy new main + cd $codedir + if [ $? -ne 0 ]; then + echo "cd ${codedir} error,port:${i}" + break + fi + execdirpath=$execdir/$i + if [ ! -d $execdirpath ]; then + mkdir -p $execdirpath + if [ $? -ne 0 ]; then + echo "mkdir ${execdirpath} error" + break + fi + cp $execname $execdirpath/${execnewname}_${i} + cp -r conf $execdirpath/ + cp -r ../conf $execdirpath/../ + sed -i "s#httpport = ${codeport}#httpport = ${i}#g" $execdirpath/conf/${env}.conf + if [ $? -ne 0 ]; then + echo "sed httpport ${codeport},i:${i} error" + break + fi + sed -i "s#appname = ${execname}#appname = ${execnewname}_${i}#g" $execdirpath/conf/${env}.conf + if [ $? -ne 0 ]; then + echo "sed appname ${execname},i:${i} error" + break + fi + rm -rf app.conf + if [ $? -ne 0 ]; then + echo "delete app.conf i:${i} error" + break + fi + echo "include \"${env}.conf\"" > $execdirpath/conf/app.conf + fi + fi + #kill old port main + if [ $1 == "stop" -o $1 == "restart" ];then + userport=`netstat -antp | grep ":${i}"` + if [ ${#userport} -gt 3 ]; then + kill -9 $(netstat -nlp | grep :${i} | awk '{print $7}' | awk -F"/" '{ print $1 }') + if [ $? -ne 0 ]; then + echo "kill port ${i} success" + break + else + echo "kill port ${i} success" + fi + fi + fi + #start new maini + if [ $1 == "start" -o $1 == "restart" ];then + cd $execdirpath/ + nohup ./${execnewname}_${i} >/dev/null 2>$execdirpath/error.log 2>&1 & + if [ $? -ne 0 ]; then + echo "${execnewname}_${i} start error " + break + else + echo "${execnewname}_${i} start ok " + fi + fi + sleep 5s +done +echo "${execname} script is end...." +exit 0 diff --git a/sh/pre/auto.sh b/sh/pre/auto.sh new file mode 100644 index 0000000..972e8e4 --- /dev/null +++ b/sh/pre/auto.sh @@ -0,0 +1,34 @@ +# !/bin/bash +if [ ! -n "$1" ]; then + echo "params error" + exit 1 +elif [ $1 != "api-qixi" ]; then + echo "please input api-qixi" + exit 2 +fi +if [ ! -n "$2" ]; then + echo "params error" + exit 1 +elif [ $2 != "start" -a $2 != "restart" -a $2 != "stop" ]; then + echo "please input start|stop|restart" + exit 2 +fi + + +sh /sh/qixi/git.sh +if [ $? -ne 0 ];then + exit 3 +fi + +binname=$1 +sh /sh/qixi/build.sh ${binname} +if [ $? -ne 0 ];then + exit 1 +fi + + +sleep 1s +sh /sh/qixi/${1}.sh ${2} +if [ $? -ne 0 ];then + exit 1 +fi diff --git a/sh/pre/build.sh b/sh/pre/build.sh new file mode 100644 index 0000000..ae1ee9d --- /dev/null +++ b/sh/pre/build.sh @@ -0,0 +1,17 @@ +# !/bin/bash +export GOPATH="/home/www/gopath:/home/code/go/apigame" + +codedir=/home/code/go/apigame/src + +cd ${codedir} +if [ $? -ne 0 ];then + echo "cd ${codedir} error" + exit 3 +fi +go build +if [ $? -ne 0 ]; then + echo "go build $codedir error" + exit 3 +fi +echo "go build $codedir is ok...." +exit 0 diff --git a/sh/pre/git.sh b/sh/pre/git.sh new file mode 100644 index 0000000..99a3deb --- /dev/null +++ b/sh/pre/git.sh @@ -0,0 +1,13 @@ +#!/bin/bash +rm -fr /home/code/go/apigame/src/ +git clone -q git@git.miso-lab.com:hermes/api-game.git /home/code/go/apigame/src/ +if [ $? -ne 0 ];then + echo "git clone error" + exit 1 +fi + +echo "git clone ok" + + + +exit 0 -- libgit2 0.21.0