Commit 7040921a authored by QA-甘 盛聪's avatar QA-甘 盛聪

a

parents b1c21d73 4e22e35a
...@@ -64,7 +64,7 @@ elif [[ $database_name = 'dujiangyan' ]]; then ...@@ -64,7 +64,7 @@ elif [[ $database_name = 'dujiangyan' ]]; then
port='3310' port='3310'
elif [[ $database_name = 'mall' ]]; then elif [[ $database_name = 'mall' ]]; then
# 白条商城 # 白条商城
sys_table_list='mall_config activity_3c_product ad_detail new_3c_product supplier 3c_product 3c_product_spec apix_phone_recharge_detail apix_recharge_project apix_recharge_project_bak category configuration course_detail_info course_info merchant pay19_recharge_project mall_category product product_sku product_sku_image product_spu product_nature nature_value product_category spu_image product_nature_value' sys_table_list='mall_config activity_3c_product ad_detail new_3c_product supplier 3c_product 3c_product_spec apix_phone_recharge_detail apix_recharge_project apix_recharge_project_bak category configuration course_detail_info course_info merchant pay19_recharge_project mall_category product product_sku product_sku_image product_spu product_nature nature_value product_category spu_image product_nature_value goods_after_sale_step goods_after_sale_config brand'
port='3310' port='3310'
elif [[ $database_name = 'qinqiong' ]]; then elif [[ $database_name = 'qinqiong' ]]; then
# qinqiong # qinqiong
......
...@@ -10,6 +10,11 @@ cd $project_path ...@@ -10,6 +10,11 @@ cd $project_path
project_folder=`find ./ -maxdepth 1 -name "$project_name"` project_folder=`find ./ -maxdepth 1 -name "$project_name"`
if [ -n "$project_folder" ];then if [ -n "$project_folder" ];then
desc=`node $config_server/get_project_config.js -name $project_name -attr desc` desc=`node $config_server/get_project_config.js -name $project_name -attr desc`
type=`node $config_server/get_project_config.js -name $project_name -attr type`
if [ "$type" = "node" ];then
command2=`node $config_server/get_project_config.js -name $project_name -attr command2`
command2
fi
sh $config_server/show_info.sh $project_name pull代码 $desc sh $config_server/show_info.sh $project_name pull代码 $desc
cd ./$project_name cd ./$project_name
git checkout ./ git checkout ./
...@@ -23,7 +28,11 @@ if [ -n "$project_folder" ];then ...@@ -23,7 +28,11 @@ if [ -n "$project_folder" ];then
git pull git pull
else else
echo "Fail to checkout branch $git_branch". echo "Fail to checkout branch $git_branch".
<<<<<<< HEAD
exit -1 exit -1
=======
exit -1
>>>>>>> 4e22e35ad767ef00b82ce39c3a2940fa60e90072
fi fi
else else
echo "checkout default branch master" echo "checkout default branch master"
......
...@@ -12,6 +12,11 @@ function getCode() ...@@ -12,6 +12,11 @@ function getCode()
for project in ${projects[@]} for project in ${projects[@]}
do do
desc=`node $config_server/get_project_config.js -name $project -attr desc` desc=`node $config_server/get_project_config.js -name $project -attr desc`
type=`node $config_server/get_project_config.js -name $project_name -attr type`
if [ "$type" = "node" ];then
command2=`node $config_server/get_project_config.js -name $project_name -attr command2`
command2
fi
cd $project_path cd $project_path
project_folder=`find ./ -maxdepth 1 -name "$project"` project_folder=`find ./ -maxdepth 1 -name "$project"`
if [ -n "$project_folder" ];then if [ -n "$project_folder" ];then
......
...@@ -50,7 +50,7 @@ function restartJavaProject() ...@@ -50,7 +50,7 @@ function restartJavaProject()
echo "-----project:$project while be run command: java -Xmx256m -XX:PermSize64m -Xloggc:/tmp/${project}.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -jar ${project}.jar --worker 1 --currentWorker 1 -t > /dev/null 2>&1 &" echo "-----project:$project while be run command: java -Xmx256m -XX:PermSize64m -Xloggc:/tmp/${project}.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -jar ${project}.jar --worker 1 --currentWorker 1 -t > /dev/null 2>&1 &"
log_name=`node $config_server/get_project_config.js -name $project -attr log_name` log_name=`node $config_server/get_project_config.js -name $project -attr log_name`
mv $project_path/logs/$log_name $project_path/logs/$project-$time.log mv $project_path/logs/$log_name $project_path/logs/$project.log.$time
if [[ $project == "redpacket" ]]; then if [[ $project == "redpacket" ]]; then
echo `java -Xmx512m -XX:PermSize64m -Xloggc:/tmp/${project}.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -jar ${project}.jar --worker 1 --currentWorker 1 -t -ts > /dev/null 2>&1 &` echo `java -Xmx512m -XX:PermSize64m -Xloggc:/tmp/${project}.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -jar ${project}.jar --worker 1 --currentWorker 1 -t -ts > /dev/null 2>&1 &`
......
...@@ -30,7 +30,7 @@ function restartJavaProject() ...@@ -30,7 +30,7 @@ function restartJavaProject()
sleep 2s sleep 2s
fi fi
log_name=`node $config_server/get_project_config.js -name $project -attr log_name` log_name=`node $config_server/get_project_config.js -name $project -attr log_name`
mv $project_path/logs/$log_name $project_path/logs/$project-$time.log mv $project_path/logs/$log_name $project_path/logs/$project.log.$time
config_file=`find ./ -maxdepth 2 -name "application.properties"` config_file=`find ./ -maxdepth 2 -name "application.properties"`
if [ -n "$config_file" ] if [ -n "$config_file" ]
then then
......
ceshi
sanliulingkaifangpingtai
yingyongbaocpd
quantgroup
oppo
huawei
anfeng
anzhi
xiaomiyingyongshangcheng
yingyonghui
sougoushoujizhushou
mumayi
jifeng
baidushoufa
wangyi
tengxunkaifangpingtai
meizuyingyongzhongxin
oppo
vivo
leshi
wandoujia
ppzhushou
jinritoutiao
baidufengchao
\ No newline at end of file
#!/bin/bash -ilex
source /etc/profile
project_path=/home/quant_group/jenkins/workspace/XyqbAndroidBuild
StroeApk_path=${project_path}/apk
BuildGradle_file=${project_path}/app/build.gradle
BuildApk_path=${project_path}/build/archives
branch_name=$1
product_flavors=$2
cd ${project_path}
function get_code()
{
if [ -z ${branch_name} ]; then
echo "分支为空,已切换默认分支master"
git pull
else
echo "checkout specified branch ${branch_name}"
git checkout -f ${branch_name}
if [ $? = 0 ]; then
echo "成功切换分支${branch_name}"
git pull
else
echo "切换分支${branch_name}失败,请联系管理员查看".
exit -1
fi
fi
}
function replace_config()
{
if [ -f ${BuildGradle_file} ];then
echo "正在替换配置文件,请稍后......"
sed -i "s/apply plugin\: 'newlens'/\/\/apply plugin\: 'newlens'/g" ${BuildGradle_file}
sed -i "s/artifact = 'com.tencent.mm:SevenZip:1.1.13'/\/\/artifact = 'com.tencent.mm:SevenZip:1.1.13'/g" ${BuildGradle_file}
sed -i "s/\/\/path = \"\/usr\/local\/bin\/7za\"/path = \"\/usr\/local\/p7zip_9.20.1\/bin\/7za\"/g" ${BuildGradle_file}
else
echo "${BuildGradle_file} 文件不存在,请联系管理人员查看"
exit -1
fi
}
function build_android()
{
if [[ ! -z ${SourceMarkes_flavors} ]]; then
echo "${product_flavors}" > ${project_path}/markets.txt
else
echo "构建所有渠道包"
fi
rm -rf ${project_path}/apk/*
cd ${project_path}
pwd
echo "开始使用gradle进行编译该版本的代码"
gradle resguard
if [ $? = 0 ]; then
echo "成功构建APK包".
echo "开始重命名对应的渠道包"
cd ${BuildApk_path}
if [[ ! -z ${product_flavors} ]]; then
ApkFile="`find ${BuildApk_path} -name "*${product_flavors}.apk"`"
else
ApkFile="`find ${BuildApk_path} -name "*ceshi.apk"`"
fi
echo "apk名称是:${apkfile}"
echo "当前路径 `pwd`"
mv ${ApkFile} ${StroeApk_path}/${branch_name}_${product_flavors}.apk
else
echo "构建失败,请联系管理员查看".
exit -1
fi
}
function upload_apk()
{
echo "apk正在上传到蒲公英,请等待......"
cd ${StroeApk_path}
echo "当前上传apk包的路径是 `pwd`"
curl -F "file=@${branch_name}_${product_flavors}.apk" -F "uKey=13d17385c02ea9ea994d0c985d87ff32" -F "_api_key=5b09af98d5a8ff43f2f39935fa6bfbc1" https://qiniu-storage.pgyer.com/apiv1/app/upload
if [ $? != 0 ]; then
echo "上传失败,请联系管理员查看"
fi
}
get_code
replace_config
build_android
upload_apk
12 13 14 15 16 17 22 24 50 151 152 12 13 14 15 16 17 22 23 24 50 151 152
...@@ -78,7 +78,9 @@ tranceConfig java "7025" "7003" "192.168.4.152" "baitiao.properties" ...@@ -78,7 +78,9 @@ tranceConfig java "7025" "7003" "192.168.4.152" "baitiao.properties"
tranceConfig node "112233445512345.ittun.com" "activity-op-22.ss.xyqb.loan" "192.168.4.22" "activity-op.js" tranceConfig node "112233445512345.ittun.com" "activity-op-22.ss.xyqb.loan" "192.168.4.22" "activity-op.js"
tranceConfig nginx "7002" "7050" "192.168.4.13" "qgbc-ui.conf" tranceConfig nginx "7002" "7050" "192.168.4.13" "qgbc-ui.conf"
tranceConfig nginx "7050" "7002" "192.168.4.13" "bt-ui.conf" tranceConfig nginx "7050" "7002" "192.168.4.13" "bt-ui.conf"
tranceConfig node "7002" "7050" "192.168.4.12" "AppBackend.js" tranceConfig ui "7002" "7050" "192.168.4.13" "bt-ui.js"
#tranceConfig node "7002" "7050" "192.168.4.12" "AppBackend.js"
#tranceConfig nginx "7002" "7050" "192.168.4.17" "qgbc-ui.conf"
#tranceConfig nginx "7050" "7002" "192.168.4.17" "bt-ui.conf"
#1/bin/bash
cd /home/quant_group/logs
rm -rf *.log.*
for i in `find . -name "*.log"`; do cat /dev/null >$i; done
...@@ -3,43 +3,72 @@ pwd_path="/home/qa-deploy-utils/qa_shell_script" ...@@ -3,43 +3,72 @@ pwd_path="/home/qa-deploy-utils/qa_shell_script"
config_shell_path="$pwd_path" config_shell_path="$pwd_path"
config_server="$pwd_path/config_server" config_server="$pwd_path/config_server"
filename=/home/config_files/special/ngrok_confg.yml filename=/home/config_files/special/ngrok_confg.yml
vipfilename=/home/config_files/special/ngrok_vip_confg.yml
IP_host_first="192.168.4."
ips=`cat $config_server/get_env_ip.sh`
function addFileHead()
{
rm -rf $1
echo "server_addr: ss.xyqb.loan:4443" >> $1
echo "trust_host_root_certs: false" >> $1
echo "tunnels:" >> $1
}
addFileHead $filename
addFileHead $vipfilename
rm -rf $filename
echo "server_addr: ss.xyqb.loan:4443" >> $filename
echo "trust_host_root_certs: false" >> $filename
echo "tunnels:" >> $filename
function addFile() function addFile()
{ {
echo "$1 : $2 " echo "$1 : $2 "
echo " $1-iplast:" >> $filename if [ -n $4 ]
echo " proto:" >> $filename then
echo " http: \"$2\"" >> $filename echo " $1-$4:" >> $3
else
echo " $1-iplast:" >> $3
fi
echo " proto:" >> $3
echo " http: \"$2\"" >> $3
} }
projects=(`node $config_server/get_project_config.js -type java -attr name`) projects=(`node $config_server/get_project_config.js -type java -attr name`)
for project in ${projects[@]} for project in ${projects[@]}
do do
port=`node $config_server/get_project_config.js -name $project -attr port` port=`node $config_server/get_project_config.js -name $project -attr port`
addFile $project $port addFile $project $port $filename
done done
projects=(`node $config_server/get_project_config.js -type ui -attr name`) projects=(`node $config_server/get_project_config.js -type ui -attr name`)
for project in ${projects[@]} for project in ${projects[@]}
do do
port=`node $config_server/get_project_config.js -name $project -attr port` port=`node $config_server/get_project_config.js -name $project -attr port`
addFile $project $port addFile $project $port $filename
done done
projects=(`node $config_server/get_project_config.js -type node -attr name`) projects=(`node $config_server/get_project_config.js -type node -attr name`)
for project in ${projects[@]} for project in ${projects[@]}
do do
port=`node $config_server/get_project_config.js -name $project -attr port` port=`node $config_server/get_project_config.js -name $project -attr port`
addFile $project $port addFile $project $port $filename
done done
projects=(`node $config_server/get_project_config.js -type python -attr name`) projects=(`node $config_server/get_project_config.js -type python -attr name`)
for project in ${projects[@]} for project in ${projects[@]}
do do
port=`node $config_server/get_project_config.js -name $project -attr port` port=`node $config_server/get_project_config.js -name $project -attr port`
addFile $project $port addFile $project $port $filename
done done
projects_of_out_proxy=( gu-bei activity-op op-api spider-center )
for ip_last in ${ips[@]}
do
for project in ${projects_of_out_proxy[@]}
do
port=`node $config_server/get_project_config.js -name $project -attr port`
addFile $project $IP_host_first$ip_last:$port $vipfilename $ip_last
done
done
server_addr: ss.xyqb.loan:4443
trust_host_root_certs: false
tunnels:
xyqb-iplast:
proto:
http: 192.168.4.23:7001
#!/bin/bash
mq_path=/usr/lib/rabbitmq/bin
$mq_path/rabbitmqctl add_user qa qatest
$mq_path/rabbitmqctl set_user_tags qa administrator
$mq_path/rabbitmqctl list_users
#/bin/bash
/usr/lib/rabbitmq/bin/rabbitmqctl stop
/usr/lib/rabbitmq/bin/rabbitmq-server -detached
...@@ -4,4 +4,4 @@ config_file=/home/config_files/special ...@@ -4,4 +4,4 @@ config_file=/home/config_files/special
cp $config_file/msg_center_white_list.py $project_path/server/white_list.py cp $config_file/msg_center_white_list.py $project_path/server/white_list.py
sed -i "s/import json/import json\nfrom white_list import white_list\nfrom white_list import phone_white_list/g" $project_path/server/mq/*.py sed -i "s/import json/import json\nfrom white_list import white_list\nfrom white_list import phone_white_list/g" $project_path/server/mq/*.py
sed -i "s/msg = json.loads(body, \"utf8\")/msg = json.loads(body, \"utf8\")\n if msg[\"source\"] not in white_list:\n logging.info(\"IP:%s不再白名单之列\", msg[\"source\"])\n if msg[\"phoneNo\"] not in phone_white_list:\n logging.info(\"Phone:%s不再白名单之列,短信中心禁止发送该条短信。\", msg[\"phoneNo\"])\n self.acknowledge_message(basic_deliver.delivery_tag)\n return/g" $project_path/server/mq/*.py sed -i "s/msg = json.loads(body, \"utf8\")/msg = json.loads(body, \"utf8\")\n if msg[\"source\"] not in white_list:\n logging.info(\"IP:%s不再白名单之列,将检查手机号白名单\", msg[\"source\"])\n if msg[\"phoneNo\"] not in phone_white_list:\n logging.info(\"Phone:%s不再白名单之列,短信中心禁止发送该条短信。\", msg)\n self.acknowledge_message(basic_deliver.delivery_tag)\n return/g" $project_path/server/mq/*.py
#!/bin/bash #!/bin/bash
IP_host_first="192.168.4." IP_host_first="192.168.4."
public_ip="139.198.2.95" public_ip="139.198.2.95"
pwd_path="/home/qa-deploy-utils/qa_shell_script"
config_server="$pwd_path/config_server"
ips=`cat $config_server/get_env_ip.sh`
mkdir /home/sub_config_file_dont_rm mkdir /home/sub_config_file_dont_rm
for ip_last_num in 12 13 14 15 16 17 22 24 50 151 152 for ip_last_num in ${ips[@]}
do do
cd /home/sub_config_file_dont_rm cd /home/sub_config_file_dont_rm
mkdir ${IP_host_first}${ip_last_num} mkdir ${IP_host_first}${ip_last_num}
...@@ -25,17 +28,11 @@ do ...@@ -25,17 +28,11 @@ do
cp -rf /home/config_files/java/* $dir/public/java/ cp -rf /home/config_files/java/* $dir/public/java/
sed -i "s/target_host_name/${IP_host_first}${ip_last_num}/" $dir/java/* sed -i "s/target_host_name/${IP_host_first}${ip_last_num}/" $dir/java/*
sed -i "s/target_mq_host_name/${IP_host_first}${ip_last_num}/" $dir/java/* sed -i "s/target_mq_host_name/${IP_host_first}${ip_last_num}/" $dir/java/*
# if [ $ip_last_num -lt 100 ]; then
# sed -i "s/target_host_name:7/${public_ip}:${ip_last_num}/g" $dir/public/java/*
# #gu-bei的回调接口都改成外网接口
# sed -i "s/callback=http:\/\/${IP_host_first}${ip_last_num}:7006/callback=http:\/\/${public_ip}:${ip_last_num}006/g" $dir/java/gu-bei.properties
# sed -i "s/pay_notify_url=http:\/\/${IP_host_first}${ip_last_num}:7006/pay_notify_url=http:\/\/${public_ip}:${ip_last_num}006/g" $dir/java/gu-bei.properties
# else
sed -i "s/target_host_name:70/${public_ip}:${ip_last_num}/g" $dir/public/java/* sed -i "s/target_host_name:70/${public_ip}:${ip_last_num}/g" $dir/public/java/*
#gu-bei的回调接口都改成外网接口 #gu-bei的回调接口都改成外网接口
sed -i "s/callback=http:\/\/${IP_host_first}${ip_last_num}:7006/callback=http:\/\/${public_ip}:${ip_last_num}06/g" $dir/java/gu-bei.properties #sed -i "s/callback=http:\/\/${IP_host_first}${ip_last_num}:7006/callback=http:\/\/${public_ip}:${ip_last_num}06/g" $dir/java/gu-bei.properties
sed -i "s/pay_notify_url=http:\/\/${IP_host_first}${ip_last_num}:7006/pay_notify_url=http:\/\/${public_ip}:${ip_last_num}06/g" $dir/java/gu-bei.properties #sed -i "s/pay_notify_url=http:\/\/${IP_host_first}${ip_last_num}:7006/pay_notify_url=http:\/\/${public_ip}:${ip_last_num}06/g" $dir/java/gu-bei.properties
# fi # fi
sed -i "s/target_host_name/${public_ip}/g" $dir/public/java/* sed -i "s/target_host_name/${public_ip}/g" $dir/public/java/*
sed -i "s/target_mq_host_name/${IP_host_first}${ip_last_num}/" $dir/public/java/* sed -i "s/target_mq_host_name/${IP_host_first}${ip_last_num}/" $dir/public/java/*
sed -i "s/${public_ip}:3306/${IP_host_first}${ip_last_num}:3306/g" $dir/public/java/* sed -i "s/${public_ip}:3306/${IP_host_first}${ip_last_num}:3306/g" $dir/public/java/*
...@@ -43,6 +40,9 @@ do ...@@ -43,6 +40,9 @@ do
sed -i "s/redis.master.host=${public_ip}/redis.master.host=${IP_host_first}${ip_last_num}/g" $dir/public/java/* sed -i "s/redis.master.host=${public_ip}/redis.master.host=${IP_host_first}${ip_last_num}/g" $dir/public/java/*
sed -i "s/zk.connect.url=${public_ip}/zk.connect.url=${IP_host_first}${ip_last_num}/g" $dir/public/java/* sed -i "s/zk.connect.url=${public_ip}/zk.connect.url=${IP_host_first}${ip_last_num}/g" $dir/public/java/*
sed -i "s/ip_last/$ip_last_num/g" $dir/public/java/*
sed -i "s/ip_last/$ip_last_num/g" $dir/java/*
cp -rf /home/config_files/special/* $dir/special/ cp -rf /home/config_files/special/* $dir/special/
sed -i "s/iplast/${ip_last_num}/g" $dir/special/ngrok_confg.yml sed -i "s/iplast/${ip_last_num}/g" $dir/special/ngrok_confg.yml
...@@ -51,11 +51,17 @@ do ...@@ -51,11 +51,17 @@ do
mkdir $dir/python mkdir $dir/python
cp -rf /home/config_files/python/* $dir/python/ cp -rf /home/config_files/python/* $dir/python/
sed -i "s/target_host_name/${IP_host_first}${ip_last_num}/" $dir/python/* sed -i "s/target_host_name/${IP_host_first}${ip_last_num}/" $dir/python/*
sed -i "s/ip_last/$ip_last_num/g" $dir/python/*
#node项目发布 #node项目发布
rm -rf $dir/node rm -rf $dir/node
mkdir $dir/node mkdir $dir/node
cp -rf /home/config_files/node/* $dir/node/ cp -rf /home/config_files/node/* $dir/node/
sed -i "s/target_host_name/${IP_host_first}${ip_last_num}/" $dir/node/* sed -i "s/target_host_name/${IP_host_first}${ip_last_num}/" $dir/node/*
sed -i "s/ip_last/$ip_last_num/g" $dir/node/*
#ui配置发布 #ui配置发布
rm -rf $dir/ui rm -rf $dir/ui
mkdir $dir/ui mkdir $dir/ui
...@@ -65,14 +71,16 @@ do ...@@ -65,14 +71,16 @@ do
cp -rf /home/config_files/ui/* $dir/ui/ cp -rf /home/config_files/ui/* $dir/ui/
cp -rf /home/config_files/ui/* $dir/public/ui/ cp -rf /home/config_files/ui/* $dir/public/ui/
sed -i "s/target_host_name/${IP_host_first}${ip_last_num}/" $dir/ui/* sed -i "s/target_host_name/${IP_host_first}${ip_last_num}/" $dir/ui/*
if [ $ip_last_num -lt 100 ]; then if [ $ip_last_num -lt 100 ]; then
sed -i "s/target_host_name:7/${public_ip}:${ip_last_num}/g" $dir/public/ui/* sed -i "s/target_host_name:7/${public_ip}:${ip_last_num}/g" $dir/public/ui/*
else else
sed -i "s/target_host_name:70/${public_ip}:${ip_last_num}/g" $dir/public/ui/* sed -i "s/target_host_name:70/${public_ip}:${ip_last_num}/g" $dir/public/ui/*
fi fi
sed -i "s/target_host_name/${public_ip}/g" $dir/public/ui/* sed -i "s/target_host_name/${public_ip}/g" $dir/public/ui/*
sed -i "s/${public_ip}:3306/${IP_host_first}${ip_last_num}:3306/g" $dir/public/ui/* sed -i "s/${public_ip}:3306/${IP_host_first}${ip_last_num}:3306/g" $dir/public/ui/*
sed -i "s/ip_last/$ip_last_num/g" $dir/public/ui/*
sed -i "s/ip_last/$ip_last_num/g" $dir/ui/*
#ngxin conf.d发布 #ngxin conf.d发布
rm -rf $dir/nginx_conf.d rm -rf $dir/nginx_conf.d
mkdir $dir/nginx_conf.d mkdir $dir/nginx_conf.d
......
...@@ -45,7 +45,7 @@ elif [[ $database_name = 'dujiangyan' ]]; then ...@@ -45,7 +45,7 @@ elif [[ $database_name = 'dujiangyan' ]]; then
port='3310' port='3310'
elif [[ $database_name = 'mall' ]]; then elif [[ $database_name = 'mall' ]]; then
# 白条商城 # 白条商城
sys_table_list='mall_config activity_3c_product ad_detail new_3c_product supplier 3c_product 3c_product_spec apix_phone_recharge_detail apix_recharge_project apix_recharge_project_bak category configuration course_detail_info course_info merchant pay19_recharge_project product product_sku product_sku_image product_spu product_nature nature_value' sys_table_list='mall_config activity_3c_product ad_detail new_3c_product supplier 3c_product 3c_product_spec apix_phone_recharge_detail apix_recharge_project apix_recharge_project_bak category configuration course_detail_info course_info merchant pay19_recharge_project product product_sku product_sku_image product_spu product_nature nature_value goods_after_sale_step goods_after_sale_config'
port='3310' port='3310'
elif [[ $database_name = 'qinqiong' ]]; then elif [[ $database_name = 'qinqiong' ]]; then
# qinqiong # qinqiong
......
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