Commit 853bf85f authored by tywldx's avatar tywldx
parents 265498bf a979e032
update merchant.user set password='318e235d3e52648b236faa3f748000d5';
...@@ -20,8 +20,8 @@ nums=(`awk '/quantgroup-sms-sdk/ {print NR}' $project_path/$project/pom.xml`) ...@@ -20,8 +20,8 @@ nums=(`awk '/quantgroup-sms-sdk/ {print NR}' $project_path/$project/pom.xml`)
for num in ${nums[@]} for num in ${nums[@]}
do do
lin=$[ $num+1 ] lin=$[ $num+1 ]
echo "第$lin行 pom文件修改成<version>2.0.0.3-SNAPSHOT</version>" echo "第$lin行 pom文件修改成<version>3.0</version>"
sed -i "${lin}s#[0-9].*</version>#2.0.0.3-SNAPSHOT</version>#" $project_path/$project/pom.xml sed -i "${lin}s#[0-9].*</version>#3.0</version>#" $project_path/$project/pom.xml
done done
echo "修改完毕" echo "修改完毕"
...@@ -30,8 +30,8 @@ nums=(`awk '/quantgroup-notify-sdk/ {print NR}' $project_path/$project/pom.xml`) ...@@ -30,8 +30,8 @@ nums=(`awk '/quantgroup-notify-sdk/ {print NR}' $project_path/$project/pom.xml`)
for num in ${nums[@]} for num in ${nums[@]}
do do
lin=$[ $num+1 ] lin=$[ $num+1 ]
echo "第$lin行 pom文件修改成<version>1.0-SNAPSHOT</version>" echo "第$lin行 pom文件修改成<version>3.0</version>"
sed -i "${lin}s#[0-9].*</version>#1.0-SNAPSHOT</version>#" $project_path/$project/pom.xml sed -i "${lin}s#[0-9].*</version>#3.0</version>#" $project_path/$project/pom.xml
done done
echo "修改完毕" echo "修改完毕"
......
#!/bin/bash
project_path=/home/quant_group
config_server=/home/qa-deploy-utils/qa_shell_script/config_server
project=gu-bei
max_wait_log_generate_time=10
max_wait_ack_time=700
ack_phrase="JVM\ running\ for"
function ack()
{
ack_phrase="$1"
log_path="$2"
max_wait_log_generate_time="$3"
max_wait_ack_time="$4"
wait_log_generate_time=0
wait_ack_time=0
echo "begin acknowledge whether the deploy start OK, ACK_PHRASE=${ack_phrase}, log_path=${log_path}"
while [ ! -f ${log_path} ]
do
echo "waiting for $ip $project log:${log_path}, wait_log_generate_time is ${wait_log_generate_time}, max_wait_log_generate_time is ${max_wait_log_generate_time} "
if ((${wait_log_generate_time}>${max_wait_log_generate_time}))
then
echo "the $ip $project log generated time exceed the limit"
exit -1
fi
echo "the $ip $project log does not exist, wait for 5 seconds"
sleep 5
let "wait_log_generate_time+=5"
done
echo "listen for the $ip $project log ack..."
for ((i=0;;))
do
#首先查询是否有启动失败的报错日志
num=`awk '/Application startup failed/ || /APPLICATION FAILED TO START/ {print NR}' $log_path`
if [ -n "${num}" ];then
echo "server $ip $project startup failed in ${wait_ack_time} seconds..."
echo "server $ip $project 启动日志错误信息截取如下:"
sed -n "$[$num],$[$num+15]p" $log_path
exit -1
fi
bootstrap_flag=`cat ${log_path} |grep "${ack_phrase}"| wc -l`
if [ "${bootstrap_flag}" = 0 ] && [ "${max_wait_ack_time}" -gt "${wait_ack_time}" ]
then
sleep 5
let "wait_ack_time+=5"
echo "waiting for $ip $project started flag for ${wait_ack_time} seconds"
elif [ "${bootstrap_flag}" = 1 ]
then
echo "server $ip $project started ok in $wait_ack_time seconds~"
exit 0
else
echo "server $ip $project not startup in ${max_wait_ack_time} seconds..."
#echo "num=`grep -n \"\[ERROR\]\" $log_path | head -1 |cut -d ":" -f 1`"
num=`grep -n -E "APPLICATION FAILED TO START|Application startup failed" $log_path | cut -d ":" -f 1`
if [ -n "$num" ];then
echo "server $ip $project 启动日志错误信息截取如下:"
sed -n "$[$num],$[$num+10]p" $log_path
fi
exit -1
fi
done
}
cd $project_path/$project
P_UUID=`ps -ef|grep ${project}.jar |grep -v 'grep'|awk '{print $2}'`
if [ -n "${P_UUID}" ];then
echo "Kill $project PPID=${P_UUID}"
kill -9 ${P_UUID}
sleep 2s
fi
log_name=`node $config_server/get_project_config.js -name $project -attr log_name`
mv $project_path/logs/$log_name $project_path/logs/$log_name.$time
run_command_=`node $config_server/get_project_config.js -name $project -attr command_`
run_commands=(${run_command_//|/ })
command1=${run_commands[0]//\^/ }
command2=${run_commands[1]//\^/ }
if [[ $1 = "yes" ]]; then
echo "java -Denv=dev -Dtech.localhost= -Xmx512m -XX:PermSize64m -Xloggc:/tmp/gu-bei.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -jar ${project}.jar $command2"
java -Denv=dev -Dtech.localhost= -Xmx512m -XX:PermSize64m -Xloggc:/tmp/gu-bei.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -jar ${project}.jar $command2 > /dev/null 2>&1 &
else
echo "java $command1 -jar ${project}.jar $command2"
java $command1 -jar ${project}.jar $command2 > /dev/null 2>&1 &
fi
echo "日志名称:$log_name"
echo "ack "$ack_phrase" $project_path/logs/$log_name ${max_wait_log_generate_time} ${max_wait_ack_time}"
ack "$ack_phrase" $project_path/logs/$log_name ${max_wait_log_generate_time} ${max_wait_ack_time}
if [ $? -ne 0 ]
then
echo "Fail to start"
exit -1
fi
\ No newline at end of file
...@@ -19,7 +19,7 @@ function tranceConfig() ...@@ -19,7 +19,7 @@ function tranceConfig()
target_str=$3 target_str=$3
ip_host=$4 ip_host=$4
file_name=$5 file_name=$5
expect -c " expect -c "
set timeout 10 set timeout 10
spawn ssh root@192.168.4.3 spawn ssh root@192.168.4.3
expect \"]#\" expect \"]#\"
...@@ -29,18 +29,10 @@ expect -c " ...@@ -29,18 +29,10 @@ expect -c "
expect \"]#\" expect \"]#\"
send \"exit\r\" send \"exit\r\"
expect eof;" expect eof;"
} }
echo "部署时间大约需要10分钟,请确保重启应用时,配置文件不再更改。。。"
echo "step 1 更改配置文件"
#tranceConfig java "wechat.appid=.*" "wechat.appid=$dev_appid" "$env_ip" "xyqb-user2.properties"
#tranceConfig java "wechat.secret=.*" "wechat.secret=$dev_secury" "$env_ip" "xyqb-user2.properties"
#tranceConfig java "h5-ui.url=.*" "h5-ui.url=http://$pay_url" "$env_ip" "xyqb.properties"
#tranceConfig ui "weixinAppid:.*" "weixinAppid:\'$dev_appid\'," "$env_ip" "xyqb-user-ui.js"
#tranceConfig ui "wechattest.xyqb.com" "$user_url" "$env_ip" "xyqb-user-ui.js"
echo "step 2 重新部署环境" function reBuildProject()
function reBuildProject(){ {
expect -c " expect -c "
set timeout 10 set timeout 10
spawn ssh root@$2 spawn ssh root@$2
...@@ -58,30 +50,25 @@ function reBuildProject(){ ...@@ -58,30 +50,25 @@ function reBuildProject(){
send \"exit\r\" send \"exit\r\"
expect eof;" expect eof;"
} }
echo "部署时间大约需要10分钟,请确保重启应用时,配置文件不再更改。。。"
echo "部署new-xyqb-user-ui"
ssh root@192.168.4.3 "sed -i \"s#weixinAppid:.*#weixinAppid:\'$dev_appid\',#g\" $base_path/$env_ip/ui/new-xyqb-user-ui.js" ssh root@192.168.4.3 "sed -i \"s#weixinAppid:.*#weixinAppid:\'$dev_appid\',#g\" $base_path/$env_ip/ui/new-xyqb-user-ui.js"
ssh root@192.168.4.3 "sed -i \"s#weixinAppid:.*#weixinAppid:\'$dev_appid\',#g\" $base_path/$env_ip/public/ui/new-xyqb-user-ui.js" ssh root@192.168.4.3 "sed -i \"s#weixinAppid:.*#weixinAppid:\'$dev_appid\',#g\" $base_path/$env_ip/public/ui/new-xyqb-user-ui.js"
ssh root@192.168.4.3 "sed -i \"s#wechattest.xyqb.com#$user_url#g\" $base_path/$env_ip/ui/new-xyqb-user-ui.js" ssh root@192.168.4.3 "sed -i \"s#wechattest.xyqb.com#$user_url#g\" $base_path/$env_ip/ui/new-xyqb-user-ui.js"
ssh root@192.168.4.3 "sed -i \"s#wechattest.xyqb.com#$user_url#g\" $base_path/$env_ip/public/ui/new-xyqb-user-ui.js" ssh root@192.168.4.3 "sed -i \"s#wechattest.xyqb.com#$user_url#g\" $base_path/$env_ip/public/ui/new-xyqb-user-ui.js"
reBuildProject "new-xyqb-user-ui" "$env_ip" reBuildProject "new-xyqb-user-ui" "$env_ip"
echo "部署xyqb-user2"
ssh root@192.168.4.3 "sed -i \"s#wechat.appid=.*#wechat.appid=$dev_appid#g\" $base_path/$env_ip/java/xyqb-user2.properties" ssh root@192.168.4.3 "sed -i \"s#wechat.appid=.*#wechat.appid=$dev_appid#g\" $base_path/$env_ip/java/xyqb-user2.properties"
ssh root@192.168.4.3 "sed -i \"s#wechat.appid=.*#wechat.appid=$dev_appid#g\" $base_path/$env_ip/public/java/xyqb-user2.properties" ssh root@192.168.4.3 "sed -i \"s#wechat.appid=.*#wechat.appid=$dev_appid#g\" $base_path/$env_ip/public/java/xyqb-user2.properties"
ssh root@192.168.4.3 "sed -i \"s#wechat.secret=.*#wechat.secret=$dev_secury#g\" $base_path/$env_ip/java/xyqb-user2.properties" ssh root@192.168.4.3 "sed -i \"s#wechat.secret=.*#wechat.secret=$dev_secury#g\" $base_path/$env_ip/java/xyqb-user2.properties"
ssh root@192.168.4.3 "sed -i \"s#wechat.secret=.*#wechat.secret=$dev_secury#g\" $base_path/$env_ip/public/java/xyqb-user2.properties" ssh root@192.168.4.3 "sed -i \"s#wechat.secret=.*#wechat.secret=$dev_secury#g\" $base_path/$env_ip/public/java/xyqb-user2.properties"
reBuildProject "xyqb-user2" "$env_ip" reBuildProject "xyqb-user2" "$env_ip"
echo "部署xyqb"
ssh root@192.168.4.3 "sed -i \"s#h5-ui.url=.*#h5-ui.url=http://$pay_url#g\" $base_path/$env_ip/java/xyqb.properties" ssh root@192.168.4.3 "sed -i \"s#h5-ui.url=.*#h5-ui.url=http://$pay_url#g\" $base_path/$env_ip/java/xyqb.properties"
ssh root@192.168.4.3 "sed -i \"s#wechat.secret=.*#wechat.secret=$dev_secury#g\" $base_path/$env_ip/public/java/xyqb.properties" ssh root@192.168.4.3 "sed -i \"s#wechat.secret=.*#wechat.secret=$dev_secury#g\" $base_path/$env_ip/public/java/xyqb.properties"
reBuildProject "xyqb" "$env_ip" reBuildProject "xyqb" "$env_ip"
echo "部署结束,如果之后修改代码,部署project后,请重新执行该部署脚本,否则有可能出现测试环境配置文件被回退的可能。" echo "部署结束,如果之后修改代码,部署project后,请重新执行该部署脚本,否则有可能出现测试环境配置文件被回退的可能。"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment