Created
February 20, 2012 07:48
-
-
Save wilful/1868303 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
DIR="$( cd "$( dirname "$0" )" && pwd )" | |
GIT=git | |
ROOT_DIR="avto.git" | |
UPLOAD_DIR="avto.upload" | |
# ________________________ | |
#_/ Select enviroment mode. \________________ | |
# | |
if [[ "$1" = "production" ]]; then | |
MODE="$1" | |
fi | |
if [[ "$1" = "api" ]]; then | |
MODE="$1" | |
fi | |
if [[ "$1" = "look" ]]; then | |
MODE="$1" | |
fi | |
if [[ "$MODE" = "" ]]; then | |
echo "!" | |
echo "When you select production, api, look-master then used DB AUTOITOGI" | |
echo "When you select look-look, look-dev then used DB AUTOITOGI_DEV" | |
echo "!" | |
select MODE in "production" "api" "look" "look-dev" "look-master" | |
do | |
echo "Run script for $MODE enviroment." | |
break | |
done | |
fi | |
#____________________________________________ | |
# ___________________________ | |
#_/ Set enviroment variables. \__________ | |
# | |
case "$MODE" in | |
"production") | |
BRANCH="master" | |
SVN_SYMLINK="/export/www/autoitogi.ru" | |
REP_FIRST="a1" | |
REP_SECOND="a2" | |
APPLICATION_ENV="env.php" | |
UPLOAD_DIR="avto.upload" | |
;; | |
"api") | |
BRANCH="json-service" | |
SVN_SYMLINK="/export/www/api.autoitogi.ru" | |
REP_FIRST="c1" | |
REP_SECOND="c2" | |
APPLICATION_ENV="env.php" | |
UPLOAD_DIR="avto.upload" | |
;; | |
"look") | |
BRANCH="look" | |
SVN_SYMLINK="/export/www/look.autoitogi.ru" | |
REP_FIRST="b1" | |
REP_SECOND="b2" | |
APPLICATION_ENV="look.env.php" | |
UPLOAD_DIR="look.avto.upload" | |
;; | |
"look-dev") | |
BRANCH="dev" | |
SVN_SYMLINK="/export/www/look.autoitogi.ru" | |
REP_FIRST="b1" | |
REP_SECOND="b2" | |
APPLICATION_ENV="look.env.php" | |
UPLOAD_DIR="look.avto.upload" | |
;; | |
"look-master") | |
BRANCH="master" | |
SVN_SYMLINK="/export/www/look.autoitogi.ru" | |
REP_FIRST="b1" | |
REP_SECOND="b2" | |
APPLICATION_ENV="env.php" | |
UPLOAD_DIR="avto.upload" | |
;; | |
*) | |
exit 0; | |
;; | |
esac | |
#________________________________________ | |
if [ ! -d $ROOT_DIR ]; then | |
mkdir $ROOT_DIR | |
fi | |
if [ ! -f "$ROOT_DIR/flag.$REP_FIRST" ]; then | |
REP_TARGET=$REP_FIRST | |
REP_ACTIVE=$REP_SECOND | |
else | |
REP_TARGET=$REP_SECOND | |
REP_ACTIVE=$REP_FIRST | |
fi | |
(cd $ROOT_DIR/$REP_TARGET && cd $DIR) || ($GIT clone ssh://[email protected]/avto.git $ROOT_DIR/$REP_TARGET) | |
cd $ROOT_DIR/$REP_TARGET && $GIT reset --hard && $GIT checkout $BRANCH && $GIT reset --hard && $GIT pull origin $BRANCH && cd $DIR | |
rm -f $ROOT_DIR/$REP_TARGET/www/static | |
ln -s -f ../../../$UPLOAD_DIR/static $ROOT_DIR/$REP_TARGET/www/static | |
if [ -d $ROOT_DIR/$REP_TARGET/application/cache ]; then ( rm -R -f $ROOT_DIR/$REP_TARGET/application/cache ) fi | |
mkdir $ROOT_DIR/$REP_TARGET/application/cache && chmod 0777 $ROOT_DIR/$REP_TARGET/application/cache | |
if [ -d $ROOT_DIR/$REP_TARGET/application/data ]; then ( rm -R -f $ROOT_DIR/$REP_TARGET/application/data ) fi | |
mkdir $ROOT_DIR/$REP_TARGET/application/data && chmod 0777 $ROOT_DIR/$REP_TARGET/application/data | |
if [ -d $ROOT_DIR/$REP_TARGET/www/captcha ]; then ( rm -R -f $ROOT_DIR/$REP_TARGET/www/captcha ) fi | |
mkdir $ROOT_DIR/$REP_TARGET/www/captcha && chmod 0777 $ROOT_DIR/$REP_TARGET/www/captcha | |
rm "$ROOT_DIR/flag.$REP_ACTIVE" | |
echo > "$ROOT_DIR/flag.$REP_TARGET" | |
cp $UPLOAD_DIR/configs/$APPLICATION_ENV $ROOT_DIR/$REP_TARGET/application/configs/env.php | |
cp $UPLOAD_DIR/configs/pluginLoaderCache.php $ROOT_DIR/$REP_TARGET/application/data/pluginLoaderCache.php | |
echo Deny for All> $ROOT_DIR/$REP_TARGET/.htaccess | |
chown -R apache:webserver $ROOT_DIR/$REP_TARGET | |
find $ROOT_DIR/$REP_TARGET -type d -exec chmod -R 775 {} \; | |
find $ROOT_DIR/$REP_TARGET -type f -exec chmod -R 664 {} \; | |
ln -s -f -T $ROOT_DIR/$REP_TARGET $SVN_SYMLINK | |
/usr/local/prog/httpd-2.2.17/bin/apachectl graceful | |
/etc/init.d/nginx reload |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment