diff --git a/checkService.sh b/checkService.sh index 4aa133f..b33343a 100755 --- a/checkService.sh +++ b/checkService.sh @@ -1,4 +1,9 @@ #!/bin/bash +## Usage +# 如果虚机上的shell里面不能执行sudu,这个脚本就能派上用场,在root用户下执行此脚本,也就绕过sudo限制了 +## ./checkService.sh ztsjxxxt.jar "/usr/local/jar" ztsjxxxt "/home/ubuntu/" "production/investigate/backEnd/" + + fileName=$1 projectPath=$2 serviceName=$3 @@ -7,9 +12,6 @@ ossPath=$5 PATH=PATH:/usr/bin:/usr/sbin -## Usage -## ./checkService.sh ztsjxxxt.jar "/usr/local/jar" ztsjxxxt "/home/ubuntu/" - cd $workDirectory echo "current path: $(pwd)" if [ ! -f "$fileName" ];then @@ -39,10 +41,12 @@ else fi if [ ${oriSum} = ${desSum} ];then + journalctl -n 1000 -xe -t autoDeploy > ${workDirectory}autoDeploy.log + ${workDirectory}ossutil cp ${workDirectory}autoDeploy.log oss://ztupload/${ossPath}autoDeploy.log echo "destination file is same with origin file,no need to replace" exit 0 fi -sudo systemctl restart $serviceName +systemctl restart $serviceName sleep 10 journalctl -n 1000 -xe -t autoDeploy > ${workDirectory}autoDeploy.log ${workDirectory}ossutil cp ${workDirectory}autoDeploy.log oss://ztupload/${ossPath}autoDeploy.log diff --git a/frontEndUpgrade.sh b/frontEndUpgrade.sh index 62e1b59..1d0c396 100755 --- a/frontEndUpgrade.sh +++ b/frontEndUpgrade.sh @@ -15,9 +15,6 @@ fi echo "2" rm dist -fr -unzip $fileName -echo "projectName: ${projectName}" -mv dist ~/$projectName echo "3" oriSum=$(md5sum $fileName) oriSum="${oriSum% *}" @@ -52,6 +49,12 @@ if [ ${oriSum} = ${desSum} ];then exit 0 fi +cd ~ +unzip $fileName +echo "projectName: ${projectName}" +mv dist ~/$projectName +cd $projectPath + echo "8" if [ -d "$projectName"_bak2 ];then rm "${projectName}"_bak2 -fr diff --git a/ossUpgrade.sh b/ossUpgrade.sh index e1e4500..bb5e291 100755 --- a/ossUpgrade.sh +++ b/ossUpgrade.sh @@ -1,8 +1,11 @@ #!/bin/bash -#usage: +# usage: +## 这个脚本能正常工作的前提是 systemd脚本如果不是root,也能通过sudo 调用高级权限来执行。 +## 否则就要结合checkService.sh一起使用。那个单独放在一个服务里,用root用户执行 # ./ossUpgrade.sh "stage/ztsjxxxt/frontEnd/" html.zip ztsjxxxt ossPath=$1 #末尾别忘了加/ fileName=$2 +serviceName=$3 projectName="${fileName%.*}" PATH=PATH:/usr/bin:/usr/sbin @@ -33,7 +36,13 @@ all=$ossSum echo "oriMd5: "$all all=$curSum echo "curMd5: "$all +logPath=${ossPath%/*} +logPath=${logPath%/*}/logs/ +osslogPath=oss://ztupload/${logPath}autoDeploy.log if [ ${ossSum} = ${curSum} ];then + sudo journalctl -n 1000 -xe -t autoDeploy > ~/autoDeploy.log + ./ossutil cp ~/autoDeploy.log ${osslogPath} -f + echo "uploaded log to ${osslogPath}" echo "destination file is same with oss file,no need to replace" exit 0 else @@ -42,5 +51,12 @@ fi rm $fileName echo "fileName: " $fileName -./ossutil cp oss://ztupload/${ossPath}${fileName} ${fileName} +./ossutil cp oss://ztupload/${ossPath}${fileName} ${fileName} + +sudo systemctl restart $serviceName +sleep 10 + +sudo journalctl -n 1000 -xe -t autoDeploy > ~/autoDeploy.log +./ossutil cp ~/autoDeploy.log osslogPath -f echo "replaced" +