Skip to content

Instantly share code, notes, and snippets.

@andre-redstage
Created December 22, 2016 16:21
Show Gist options
  • Save andre-redstage/4f8962abe7409635c411512ffa2658fc to your computer and use it in GitHub Desktop.
Save andre-redstage/4f8962abe7409635c411512ffa2658fc to your computer and use it in GitHub Desktop.
#!/bin/sh
BASE_DIR="/www/sites/m2.travisplatform.com/files/"
HTML='html'
v1='v1'
v2='v2'
GIT='git/'
STATIC_FOLDER='static'
STATIC_VAR=$STATIC_FOLDER'/var'
STATIC_VENDOR=$STATIC_FOLDER'/vendor'
STATIC_MEDIA=$STATIC_FOLDER'/pub/media'
STATIC_MAGE_STATIC=$STATIC_FOLDER'/pub/static'
STATIC_HTACCESS=$STATIC_FOLDER'/.htaccess'
STATIC_CONFIG=$STATIC_FOLDER'/app/etc/config.php'
STATIC_ENV=$STATIC_FOLDER'/app/etc/env.php'
#STATIC_V1='/v1'
#STATIC_V2='/v2'
CURRENT_LINK="$(readlink $BASE_DIR$HTML)"
CHECKOUT_DIR=$BASE_DIR$v1
#GENERATION_DIR=$BASE_DIR$STATIC_FOLDER$STATIC_V1'/generation'
#DI_DIR=$BASE_DIR$STATIC_FOLDER$STATIC_V1'/di'
if [ '"'$CURRENT_LINK'"' = '"'$CHECKOUT_DIR'"' ];
then
CHECKOUT_DIR=$BASE_DIR$v2
# GENERATION_DIR=$BASE_DIR$STATIC_FOLDER$STATIC_V2'/generation'
# DI_DIR=$BASE_DIR$STATIC_FOLDER$STATIC_V2'/di'
fi
git --work-tree=$CHECKOUT_DIR --git-dir=$BASE_DIR$GIT checkout -f
#Clear static links
rm -rf $CHECKOUT_DIR'/var'
rm -rf $CHECKOUT_DIR'/vendor'
rm -rf $CHECKOUT_DIR'/pub/media'
rm -rf $CHECKOUT_DIR'/pub/static'
rm -rf $CHECKOUT_DIR'/.htaccess'
rm -rf $CHECKOUT_DIR'/app/etc/config.php'
rm -rf $CHECKOUT_DIR'/app/etc/env.php'
#rm -rf $CHECKOUT_DIR'/var/generation'
#rm -rf $CHECKOUT_DIR'/var/di'
#Clear application link
rm -rf $BASE_DIR$HTML
#Create link to application
ln -s $CHECKOUT_DIR $BASE_DIR$HTML
#Create links for new folder
ln -s $BASE_DIR$STATIC_VAR $CHECKOUT_DIR'/var'
ln -s $BASE_DIR$STATIC_VENDOR $CHECKOUT_DIR'/vendor'
ln -s $BASE_DIR$STATIC_MEDIA $CHECKOUT_DIR'/pub/media'
ln -s $BASE_DIR$STATIC_MAGE_STATIC $CHECKOUT_DIR'/pub/static'
ln -s $BASE_DIR$STATIC_HTACCESS $CHECKOUT_DIR'/.htaccess'
ln -s $BASE_DIR$STATIC_CONFIG $CHECKOUT_DIR'/app/etc/config.php'
ln -s $BASE_DIR$STATIC_ENV $CHECKOUT_DIR'/app/etc/env.php'
#ln -s $GENERATION_DIR $CHECKOUT_DIR'/var/generation'
#ln -s $DI_DIR $CHECKOUT_DIR'/var/di'
#Set as production
php $CHECKOUT_DIR'/bin/magento' deploy:mode:set production #Currently this is taking too long, need to find a better way to implement this
#Clear cache
php $CHECKOUT_DIR'/bin/magento' cache:clean
#Create link to application
#ln -s $CHECKOUT_DIR $BASE_DIR$HTML
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment