Created
October 24, 2013 16:30
-
-
Save emayk/7140426 to your computer and use it in GitHub Desktop.
deploy laravel application to production server
This file contains 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/bash | |
# inspiration [url]http://blog.rjmetrics.com/simple-deploy-script-for-php-applications/[/url] | |
# unzipping files [url]http://kb.winzip.com/kb/entry/124/[/url] | |
# todo: does current exist? does releases exist? | |
APP_NAME=clouddueling | |
DEPLOY_SERVER= | |
DEPLOY_PATH=/var/www/html | |
DEPLOY_USER= | |
CURRENT_DIR=$DEPLOY_PATH/$APP_NAME/current | |
RELEASE_NAME=`date +"%Y-%m-%d-%H%M%S"` | |
CURRENT_RELEASE=$DEPLOY_PATH/$APP_NAME/releases/$RELEASE_NAME | |
echo "Emptying storage cache and views.\n" | |
rm -f storage/cache/* | |
rm -f storage/views/* | |
echo "Compressing code.\n" | |
tar -czf ../$RELEASE_NAME.tar.gz ./ | |
echo "Creating release folder: $RELEASE_NAME.\n" | |
ssh -t $DEPLOY_USER@$DEPLOY_SERVER "cd $DEPLOY_PATH/$APP_NAME/releases && | |
mkdir $RELEASE_NAME" | |
echo "Uploading code to server.\n" | |
scp -i ~/path/to/keys.pem ../$RELEASE_NAME.tar.gz $DEPLOY_USER@$DEPLOY_SERVER:$DEPLOY_PATH/$APP_NAME/releases/$RELEASE_NAME | |
echo "Extracting code into release folder.\n" | |
ssh -t $DEPLOY_USER@$DEPLOY_SERVER "cd $DEPLOY_PATH/$APP_NAME/releases/$RELEASE_NAME && | |
gzip -d < $RELEASE_NAME.tar.gz | tar xf - && | |
echo 'Updating storage permissions.' && | |
sudo chmod -R 777 storage && | |
echo 'Removing server compressed code.' && | |
rm $RELEASE_NAME.tar.gz && | |
echo 'Diverting traffic to new release.' && | |
cd ../../ && | |
ln -nsf releases/$RELEASE_NAME current" | |
echo "Removing local compressed code.\n" | |
rm ../$RELEASE_NAME.tar.gz | |
echo "Laravel deployment complete." |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment