123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457 |
- #!/bin/bash
- #https://doc.huosdk.com/web/#/183?page_id=11285
- #TOP_PROJECT_DIR=$(dirname $(dirname $(dirname $(readlink -f "$0"))))
- #最原始项目路径
- OLD_PROJECT_DIR=/huosdk
- TOP_PROJECT_DIR=/code
- PROJECT_NAME=mp
- LN_UPLOAD=no
- BRANCH_PROJECT_DIR=${TOP_PROJECT_DIR}/branch/${PROJECT_NAME}
- DATE=`/bin/date +%Y%m%d`
- MASTER_PROJECT_DIR=${TOP_PROJECT_DIR}/${PROJECT_NAME}
- TEST_PROJECT_DIR=${MASTER_PROJECT_DIR}test
- BASE_PROJECT_DIR=${BRANCH_PROJECT_DIR}base
- OLD_BASE_PROJECT_DIR=${BRANCH_PROJECT_DIR}old
- NEW_PROJECT_DIR=${BRANCH_PROJECT_DIR}${DATE}
- if [ -d "${OLD_PROJECT_DIR}" ]; then
- du -h ${OLD_PROJECT_DIR} --max-depth=1
- fi
- TREE_INSTALL=$(rpm -qa | grep tree)
- if [ -z ${TREE_INSTALL} ]; then
- yum -y install tree
- fi
- RSYNC_INSTALL=$(rpm -qa | grep rsync)
- if [ -z ${RSYNC_INSTALL} ]; then
- yum -y install rsync
- fi
- tree ${TOP_PROJECT_DIR} -L 2
- add_test_php(){
- #新增所有test.php
- if [ -z $1 ]; then
- echo 'param error!'; return 0;
- fi
- TEST_PHP_PROJECT_DIR=$1
- #新增所有test.php
- if [ -d "${TEST_PHP_PROJECT_DIR}/public" ]; then
- INDEX_FILES=`find ${TEST_PHP_PROJECT_DIR}/public/* -type f -name "index.php"`
- for INDEX_FILE in ${INDEX_FILES}
- do
- TEST_PHP_ACCESS_DIR=$(dirname ${INDEX_FILE})
- if [[ -z ${TEST_PHP_ACCESS_DIR}/test.php ]];then
- touch ${TEST_PHP_ACCESS_DIR}/test.php
- fi
- echo -e "<?php \necho 'ok';" > ${TEST_PHP_ACCESS_DIR}/test.php
- done
- fi
- if [ -d "${TEST_PHP_PROJECT_DIR}/access" ]; then
- INDEX_FILES=`find ${TEST_PHP_PROJECT_DIR}/access/* -type f -name "index.php"`
- for INDEX_FILE in ${INDEX_FILES}
- do
- TEST_PHP_ACCESS_DIR=$(dirname ${INDEX_FILE})
- if [[ -z ${TEST_PHP_ACCESS_DIR}/test.php ]];then
- touch ${TEST_PHP_ACCESS_DIR}/test.php
- fi
- echo -e "<?php \necho 'ok';" > ${TEST_PHP_ACCESS_DIR}/test.php
- done
- fi
- }
- #设置主线
- set_master(){
- [ ! -d "${NEW_PROJECT_DIR}" ] && { echo "Error: ${NEW_PROJECT_DIR} not exist"; exit 0; }
- #修改域名去除TEST
- find ${NEW_PROJECT_DIR}/* -type f -name "domain.inc.php" -exec sed -i "s@^define(\"HTTP\".*);@define(\"HTTP\", 'http://');@" {} \;
- find ${NEW_PROJECT_DIR}/* -type f -name "domain.inc.php" -exec sed -i "s@^define(\"HTTPS\".*@define(\"HTTPS\", 'https://');@" {} \;
- #同步static文件到BASE目录
- if [ "${NEW_PROJECT_DIR}" == "${BASE_PROJECT_DIR}" ]; then
- STATIC_PROJECT_DIR=${OLD_BASE_PROJECT_DIR};
- else
- STATIC_PROJECT_DIR=${NEW_PROJECT_DIR};
- fi
- #rsync -avl --stats --progress ${STATIC_PROJECT_DIR}/public/static/ ${BASE_PROJECT_DIR}/public/static/
- #清理runtime
- RUNTIME_DIRS=`find ${NEW_PROJECT_DIR}/* -type d -name runtime`
- for RUNTIME_DIR in ${RUNTIME_DIRS}
- do
- chmod -R 777 ${RUNTIME_DIR}
- rm -rf ${RUNTIME_DIR}/*
- done
- add_test_php ${NEW_PROJECT_DIR}
- rm -rf ${MASTER_PROJECT_DIR}
- ln -s ${NEW_PROJECT_DIR} ${MASTER_PROJECT_DIR}
- #设置权限
- chmod 750 ${MASTER_PROJECT_DIR}/shell/set_auth.sh
- sh ${MASTER_PROJECT_DIR}/shell/set_auth.sh
- chmod 400 ${MASTER_PROJECT_DIR}/shell/set_auth.sh
- tree ${TOP_PROJECT_DIR} -L 2
- }
- #设置测试路径
- new_test_branch(){
- MASTER_PROJECT_DIR_REAL=$(readlink -f ${MASTER_PROJECT_DIR});
- TEST_PROJECT_DIR_REAL=$(readlink -f ${TEST_PROJECT_DIR});
- #判断测试路径是否已经存在
- if [[ -L "${TEST_PROJECT_DIR}" && "${MASTER_PROJECT_DIR_REAL}" != "${TEST_PROJECT_DIR_REAL}" ]]; then
- echo -e "\n${TEST_PROJECT_DIR} -> ${TEST_PROJECT_DIR_REAL} exist!\n"; exit 1;
- fi
- #判断对应目录是否存在 产生目录
- [ -d "${NEW_PROJECT_DIR}" ] && { echo "${NEW_PROJECT_DIR} exist"; exit 1; }
- mkdir -p ${NEW_PROJECT_DIR}
- #删除upload目录
- UPLOAD_DIR=`find ${NEW_PROJECT_DIR}/ -type d -name upload`
- rm -rf ${UPLOAD_DIR}
- #拷贝原有所有文件到此目录
- \cp -rf ${MASTER_PROJECT_DIR}/* ${NEW_PROJECT_DIR}/
- chmod -R 777 ${NEW_PROJECT_DIR}
- #清理runtime
- RUNTIME_DIRS=`find ${NEW_PROJECT_DIR}/* -type d -name runtime`
- for RUNTIME_DIR in ${RUNTIME_DIRS}
- do
- chmod -R 777 ${RUNTIME_DIR}
- rm -rf ${RUNTIME_DIR}/*
- done
- #UPLOAD软链接
- if [ -d "${BASE_PROJECT_DIR}/access/upload" ]; then
- NEW_PROJECT_UPLOAD_DIR=${NEW_PROJECT_DIR}/access/upload
- BASE_PROJECT_UPLOAD_DIR=${BASE_PROJECT_DIR}/access/upload
- #关联UPLOAD
- rm -rf ${NEW_PROJECT_UPLOAD_DIR}
- ln -s ${BASE_PROJECT_UPLOAD_DIR} ${NEW_PROJECT_UPLOAD_DIR}
- fi
- if [ -L "${BASE_PROJECT_DIR}/access/upload" ]; then
- NEW_PROJECT_UPLOAD_DIR=${NEW_PROJECT_DIR}/access/upload
- BASE_PROJECT_UPLOAD_DIR=$(readlink -f ${BASE_PROJECT_DIR}/access/upload)
- #关联UPLOAD
- rm -rf ${NEW_PROJECT_UPLOAD_DIR}
- ln -s ${BASE_PROJECT_UPLOAD_DIR} ${NEW_PROJECT_UPLOAD_DIR}
- fi
- if [ -d "${BASE_PROJECT_DIR}/public/upload" ]; then
- NEW_PROJECT_UPLOAD_DIR=${NEW_PROJECT_DIR}/public/upload
- BASE_PROJECT_UPLOAD_DIR=${BASE_PROJECT_DIR}/public/upload
- #关联UPLOAD
- rm -rf ${NEW_PROJECT_UPLOAD_DIR}
- ln -s ${BASE_PROJECT_UPLOAD_DIR} ${NEW_PROJECT_UPLOAD_DIR}
- fi
- if [ -L "${BASE_PROJECT_DIR}/public/upload" ]; then
- NEW_PROJECT_UPLOAD_DIR=${NEW_PROJECT_DIR}/public/upload
- BASE_PROJECT_UPLOAD_DIR=$(readlink -f ${BASE_PROJECT_DIR}/public/upload)
- #关联UPLOAD
- rm -rf ${NEW_PROJECT_UPLOAD_DIR}
- ln -s ${BASE_PROJECT_UPLOAD_DIR} ${NEW_PROJECT_UPLOAD_DIR}
- fi
- #修改域名添加TEST
- find ${NEW_PROJECT_DIR}/* -type f -name "domain.inc.php" -exec sed -i "s@^define(\"HTTP\".*@define(\"HTTP\", 'http://test');@" {} \;
- find ${NEW_PROJECT_DIR}/* -type f -name "domain.inc.php" -exec sed -i "s@^define(\"HTTPS\".*@define(\"HTTPS\", 'http://test');@" {} \;
- #关联test文件夹
- rm -rf ${TEST_PROJECT_DIR}
- ln -s ${NEW_PROJECT_DIR} ${TEST_PROJECT_DIR}
- add_test_php ${NEW_PROJECT_DIR}
- #设置所有debug请求为 TRUE
- find ${NEW_PROJECT_DIR}/* -type f -name "index.php" -exec sed -i "s@^define(\"APP_DEBUG\".*@define(\"APP_DEBUG\", true);@" {} \;
- chown -R rsynccode:www ${NEW_PROJECT_DIR}
- sh ${NEW_PROJECT_DIR}/shell/set_auth.sh 1
- tree ${TOP_PROJECT_DIR} -L 2
- echo -e "【ETL】 请手动处理\n【测试缓存开关】 请手动处理";
- }
- set_nginx(){
- #1检查测试域名是否存在
- CONF_DIR=/www/wdlinux/nginx/conf/vhost/
- OLD_CONF_DIR=/www/wdlinux/nginx/conf/vhost/old${DATE}
-
- #备份原有nginx配置
- if [ ! -d ${OLD_CONF_DIR}/ ];then
- mkdir -p ${OLD_CONF_DIR}
- fi
- \cp -rf ${CONF_DIR}* ${OLD_CONF_DIR}/
-
- if [ ! -d ${NGINX_OLD_DIR} ];then
- NGINX_DEMO_DIR=${BASE_PROJECT_DIR}/data/nginx/demo
- NGINX_DEV_DIR=${BASE_PROJECT_DIR}/data/nginx/dev
- NGINX_OLD_DIR=${BASE_PROJECT_DIR}/data/nginx/old
- else
- NGINX_DEMO_DIR=${OLD_PROJECT_DIR}/data/nginx/demo
- NGINX_DEV_DIR=${OLD_PROJECT_DIR}/data/nginx/dev
- NGINX_OLD_DIR=${OLD_PROJECT_DIR}/data/nginx/old
-
- fi
- #原有目录
- if [ ! -d ${NGINX_OLD_DIR} ];then
- mkdir -p ${NGINX_OLD_DIR}
- fi
- CHECK_CONF_DIR=`ls ${NGINX_OLD_DIR} | grep -i '.conf'`
- if [[ -z ${CHECK_CONF_DIR} ]];then
- #校验 NGINX_MASTER 目录
- if [ ! -d ${NGINX_DEMO_DIR} ];then
- mkdir -p ${NGINX_DEMO_DIR}
- fi
- rm -rf ${NGINX_DEMO_DIR}/*
- #校验 NGINX_DEV 目录
- if [ ! -d ${NGINX_DEV_DIR} ];then
- mkdir -p ${NGINX_DEV_DIR}
- fi
- rm -rf ${NGINX_DEV_DIR}/*
- #校验 NGINX_OLD 目录
- if [ ! -d ${NGINX_OLD_DIR} ];then
- mkdir -p ${NGINX_OLD_DIR}
- fi
- rm -rf ${NGINX_OLD_DIR}/*
- #备份原有配置
- \cp -rf ${CONF_DIR}/* ${NGINX_OLD_DIR}/
- #原有
- CONF_FILES=$(find ${NGINX_OLD_DIR}/* -name '*.conf' | xargs grep ${OLD_PROJECT_DIR} -l )
- for CONF_FILE in ${CONF_FILES}
- do
- \cp -rf ${CONF_FILE} ${NGINX_DEMO_DIR}/
- done
- #新增
- CONF_FILES=$(find ${NGINX_OLD_DIR}/* -name '*.conf' | xargs grep ${MASTER_PROJECT_DIR} -l )
- for CONF_FILE in ${CONF_FILES}
- do
- \cp -rf ${CONF_FILE} ${NGINX_DEMO_DIR}/
- done
- #删除测试域名
- rm -rf ${NGINX_DEMO_DIR}/test*
- #修改 NGINX_MASTER 路径
- sed -i "s@/${OLD_PROJECT_DIR};@/code${MASTER_PROJECT_DIR};@" ${NGINX_DEMO_DIR}/*
- sed -i "s@${OLD_PROJECT_DIR}/@/code${MASTER_PROJECT_DIR}/@" ${NGINX_DEMO_DIR}/*
- sed -i "s@${OLD_PROJECT_DIR};@/code${MASTER_PROJECT_DIR};@" ${NGINX_DEMO_DIR}/*
- sed -i "s@/code${MASTER_PROJECT_DIR}/@${MASTER_PROJECT_DIR}/@" ${NGINX_DEMO_DIR}/*
- sed -i "s@/code${MASTER_PROJECT_DIR}/@${MASTER_PROJECT_DIR}/@" ${NGINX_DEMO_DIR}/*
- sed -i "s@/code${MASTER_PROJECT_DIR}/@${MASTER_PROJECT_DIR}/@" ${NGINX_DEMO_DIR}/*
- CONF_FILES=$(ls ${NGINX_DEMO_DIR}/ | grep -i '.conf')
- for CONF_FILE in ${CONF_FILES}
- do
- if [ `grep -c 10080 ${NGINX_DEMO_DIR}/${CONF_FILE}` -eq '0' ]; then
- sed -i '/listen.*80/a listen 10080;' ${NGINX_DEMO_DIR}/${CONF_FILE}
- fi
- sed -i "s@.*listen .*10080;@ listen 10080;@" ${NGINX_DEMO_DIR}/${CONF_FILE}
- done
- \cp -rf ${NGINX_DEMO_DIR}/* ${NGINX_DEV_DIR}/
- pushd ${NGINX_DEV_DIR}/
- sed -i "s@${MASTER_PROJECT_DIR}/@${TEST_PROJECT_DIR}/@" ${NGINX_DEV_DIR}/*
- CONF_FILES=$(ls ${NGINX_DEV_DIR}/ | grep -i '.conf')
- for CONF_FILE in ${CONF_FILES}
- do
- HOSTNAME=`echo ${CONF_FILE%.*}`
- sed -i "s@#listen .*10080;@listen 10080;@" ${NGINX_DEV_DIR}/${CONF_FILE}
- sed -i "s@${HOSTNAME}@test${HOSTNAME}@" ${NGINX_DEV_DIR}/${CONF_FILE}
- sed -i "s@listen.*443.*@@" ${NGINX_DEV_DIR}/${CONF_FILE}
- sed -i "s@ssl on.*@@" ${NGINX_DEV_DIR}/${CONF_FILE}
- sed -i "s@ssl_.*@@" ${NGINX_DEV_DIR}/${CONF_FILE}
- sed -i "s@add_header Strict-Transport-Security max-age=15768000;@@" ${NGINX_DEV_DIR}/${CONF_FILE}
- mv ${NGINX_DEV_DIR}/${CONF_FILE} ${NGINX_DEV_DIR}/test${CONF_FILE}
- done
- popd
- NGINX_DEMO_DIR=${OLD_PROJECT_DIR}/data/nginx/demo
- NGINX_DEV_DIR=${OLD_PROJECT_DIR}/data/nginx/dev
- NGINX_OLD_DIR=${OLD_PROJECT_DIR}/data/nginx/old
-
- if [ ! -d ${OLD_BASE_PROJECT_DIR}/data/nginx/demo ];then
- mkdir -p ${OLD_BASE_PROJECT_DIR}/data/nginx/demo
- fi
-
- if [ ! -d ${BASE_PROJECT_DIR}/data/nginx/demo ];then
- mkdir -p ${BASE_PROJECT_DIR}/data/nginx/demo
- fi
-
- if [ ! -d ${TEST_PROJECT_DIR}/data/nginx/demo ];then
- mkdir -p ${TEST_PROJECT_DIR}/data/nginx/demo
- fi
-
- rsync -avl --stats --progress ${NGINX_DEMO_DIR}/* ${OLD_BASE_PROJECT_DIR}/data/nginx/demo/
- rsync -avl --stats --progress ${NGINX_DEV_DIR}/* ${OLD_BASE_PROJECT_DIR}/data/nginx/dev/
- rsync -avl --stats --progress ${NGINX_OLD_DIR}/* ${OLD_BASE_PROJECT_DIR}/data/nginx/old/
-
- rsync -avl --stats --progress ${NGINX_DEMO_DIR}/* ${BASE_PROJECT_DIR}/data/nginx/demo/
- rsync -avl --stats --progress ${NGINX_DEV_DIR}/* ${BASE_PROJECT_DIR}/data/nginx/dev/
- rsync -avl --stats --progress ${NGINX_OLD_DIR}/* ${BASE_PROJECT_DIR}/data/nginx/old/
-
- rsync -avl --stats --progress ${NGINX_DEMO_DIR}/* ${TEST_PROJECT_DIR}/data/nginx/demo/
- rsync -avl --stats --progress ${NGINX_DEV_DIR}/* ${TEST_PROJECT_DIR}/data/nginx/dev/
- rsync -avl --stats --progress ${NGINX_OLD_DIR}/* ${TEST_PROJECT_DIR}/data/nginx/old/
-
- #拷贝所有域名到正式目录下
- \cp -rf ${NGINX_DEMO_DIR}/* ${CONF_DIR}/
- \cp -rf ${NGINX_DEV_DIR}/* ${CONF_DIR}/
- echo -e "\cp ${NGINX_DEMO_DIR}/* ${CONF_DIR}/ \n"
- echo -e "\cp ${NGINX_DEV_DIR}/* ${CONF_DIR}/ \n"
-
- #检查域名配置
- /www/wdlinux/nginx/sbin/nginx -t
- echo -e '/www/wdlinux/nginx/sbin/nginx -t \n'
- echo -e '请检查配置 配置OK 请重启nginx \nservice nginx restart \nservice nginxd restart '
- else
- echo '域名已配置'
- fi
- }
- set_base(){
- #判断原始目录是否存在
- if [ ! -d "${OLD_PROJECT_DIR}" ]; then
- return 1;
- fi
-
- #设置权限
- #${OLD_PROJECT_DIR}/shell/set_auth.sh
-
- #判断目录是否存在
- if [ -d "${BASE_PROJECT_DIR}" ]; then
- if [ ! -L "${MASTER_PROJECT_DIR}" ]; then
- ln -s ${BASE_PROJECT_DIR} ${MASTER_PROJECT_DIR}
- fi
- if [ ! -L "${TEST_PROJECT_DIR}" ]; then
- ln -s ${BASE_PROJECT_DIR} ${TEST_PROJECT_DIR}
- fi
- #echo "${BASE_PROJECT_DIR} exist";
- return 1;
- fi
- #保存所有old文件
- mkdir -p ${OLD_BASE_PROJECT_DIR}
- #保存所有base文件
- mkdir -p ${BASE_PROJECT_DIR}
- if [ "${LN_UPLOAD}" == "no" ]; then
- #迁移原有目录到old目录
- rsync -avl --stats --progress --exclude 'runtime' --exclude 'Runtime' ${OLD_PROJECT_DIR}/* ${OLD_BASE_PROJECT_DIR}/
- #迁移原有目录到base目录
- rsync -al --exclude 'runtime' --exclude 'Runtime' ${OLD_PROJECT_DIR}/* ${BASE_PROJECT_DIR}/
- echo "rsync -avl --stats --progress --exclude 'runtime' --exclude 'Runtime' ${OLD_PROJECT_DIR}/* ${OLD_BASE_PROJECT_DIR}/"
- echo "rsync -avl --stats --progress --exclude 'runtime' --exclude 'Runtime' ${OLD_PROJECT_DIR}/* ${BASE_PROJECT_DIR}/"
- else
- #迁移原有目录到old目录
- rsync -avl --stats --progress --exclude 'runtime' --exclude 'Runtime' --exclude 'upload' ${OLD_PROJECT_DIR}/* ${OLD_BASE_PROJECT_DIR}/
- #迁移原有目录到base目录
- rsync -al --exclude 'runtime' --exclude 'Runtime' --exclude 'upload' ${OLD_PROJECT_DIR}/* ${BASE_PROJECT_DIR}/
- echo "rsync -avl --stats --progress --exclude 'runtime' --exclude 'Runtime' --exclude 'upload' ${OLD_PROJECT_DIR}/* ${OLD_BASE_PROJECT_DIR}/"
- echo "rsync -avl --stats --progress --exclude 'runtime' --exclude 'Runtime' --exclude 'upload' ${OLD_PROJECT_DIR}/* ${BASE_PROJECT_DIR}/"
- #UPLOAD软链接
- if [ -d "${OLD_PROJECT_DIR}/access/upload" ]; then
- OLD_BASE_PROJECT_DIR_UPLOAD_DIR=${OLD_BASE_PROJECT_DIR}/access/upload
- OLD_PROJECT_DIR_UPLOAD_DIR=${OLD_PROJECT_DIR}/access/upload
- BASE_PROJECT_DIR_UPLOAD_DIR=${BASE_PROJECT_DIR}/access/upload
- #关联UPLOAD
- rm -rf ${OLD_BASE_PROJECT_DIR_UPLOAD_DIR}
- ln -s ${OLD_PROJECT_DIR_UPLOAD_DIR} ${OLD_BASE_PROJECT_DIR_UPLOAD_DIR}
- rm -rf ${BASE_PROJECT_DIR_UPLOAD_DIR}
- ln -s ${OLD_PROJECT_DIR_UPLOAD_DIR} ${BASE_PROJECT_DIR_UPLOAD_DIR}
- fi
- if [ -d "${OLD_PROJECT_DIR}/public/upload" ]; then
- OLD_BASE_PROJECT_DIR_UPLOAD_DIR=${OLD_BASE_PROJECT_DIR}/public/upload
- OLD_PROJECT_DIR_UPLOAD_DIR=${OLD_PROJECT_DIR}/public/upload
- BASE_PROJECT_DIR_UPLOAD_DIR=${BASE_PROJECT_DIR}/public/upload
- #关联UPLOAD
- rm -rf ${OLD_BASE_PROJECT_DIR_UPLOAD_DIR}
- ln -s ${OLD_PROJECT_DIR_UPLOAD_DIR} ${OLD_BASE_PROJECT_DIR_UPLOAD_DIR}
- rm -rf ${BASE_PROJECT_DIR_UPLOAD_DIR}
- ln -s ${OLD_PROJECT_DIR_UPLOAD_DIR} ${BASE_PROJECT_DIR_UPLOAD_DIR}
- fi
- fi
- #生成 runtime
- find ${OLD_PROJECT_DIR} -type d -name runtime | sed "s@^${OLD_PROJECT_DIR}@mkdir -p ${OLD_BASE_PROJECT_DIR}@" | sh
- find ${OLD_PROJECT_DIR} -type d -name runtime | sed "s@^${OLD_PROJECT_DIR}@mkdir -p ${BASE_PROJECT_DIR}@" | sh
- find ${OLD_BASE_PROJECT_DIR} -type d -name runtime -exec chmod 777 {} \;
- find ${BASE_PROJECT_DIR} -type d -name runtime -exec chmod 777 {} \;
- #生成 Runtime
- find ${OLD_PROJECT_DIR} -type d -name Runtime | sed "s@^${OLD_PROJECT_DIR}@mkdir -p ${OLD_BASE_PROJECT_DIR}@" | sh
- find ${OLD_PROJECT_DIR} -type d -name Runtime | sed "s@^${OLD_PROJECT_DIR}@mkdir -p ${BASE_PROJECT_DIR}@" | sh
- find ${OLD_BASE_PROJECT_DIR} -type d -name Runtime -exec chmod 777 {} \;
- find ${BASE_PROJECT_DIR} -type d -name Runtime -exec chmod 777 {} \;
-
- if [ ! -L "${MASTER_PROJECT_DIR}" ]; then
- ln -s ${BASE_PROJECT_DIR} ${MASTER_PROJECT_DIR}
- fi
- if [ ! -L "${TEST_PROJECT_DIR}" ]; then
- ln -s ${BASE_PROJECT_DIR} ${TEST_PROJECT_DIR}
- fi
- ${BASE_PROJECT_DIR}/shell/set_auth.sh
- #${OLD_PROJECT_DIR}/shell/set_auth.sh
- }
- set_base
- if [ -z $1 ]; then
- new_test_branch
- else
- FIRST_PARAM=$1;
- if [ "${FIRST_PARAM}" == "nginx" ]; then
- #配置nginx
- set_nginx
- echo "nginx ok"; exit 1;
- fi
- if [ "${FIRST_PARAM}" == "1" -o "${FIRST_PARAM}" == "base" ]; then
- if [ "${FIRST_PARAM}" == "1" ]; then
- #为1表示取用当前目录
- FIRST_PARAM=${DATE}
- fi
- fi
- #存在文件夹才处理
- NEW_PROJECT_DIR=${BRANCH_PROJECT_DIR}${FIRST_PARAM}
- if [ -d "${NEW_PROJECT_DIR}" ]; then
- if [ -z $2 ]; then
- #第二个参数不存在 停留60s 可以关闭
- echo -e '正式环境切换确保所有人员知晓【客户】【产品】【运营】【商务】\n停留60s 可以终止执行';
- sleep 60;
- fi
- set_master
- echo "${MASTER_PROJECT_DIR} -> ${NEW_PROJECT_DIR} ok"; exit 1;
- else
- echo "${NEW_PROJECT_DIR} not exits!"; exit 1;
- fi
- echo "参数输入错误"; exit 1;
- fi
|