Skip to content

Instantly share code, notes, and snippets.

@ralph-tice
Created March 4, 2013 18:03
Show Gist options
  • Save ralph-tice/5084164 to your computer and use it in GitHub Desktop.
Save ralph-tice/5084164 to your computer and use it in GitHub Desktop.
basic release management for php type applications that only involve file copy
#!/bin/bash
#git pull
releaseDir=`date +%F-%H-%M-%S`
sudo mkdir -p /var/www/releases/$releaseDir
sudo chown ec2-user.ec2-user /var/www/releases/$releaseDir
#assumes docroot is the name of the directory in your repo to deploy
cp -r ./docroot /var/www/releases/$releaseDir/
cd /var/www/releases/$releaseDir/app/
composer install
#swap out docroot directories for the new release -- make it live
sudo ln -s /var/www/releases/$releaseDir/docroot /var/www/docroot_tmp && sudo mv -Tf /var/www/docroot_tmp /var/www/html
#cleanup all but newest 5 releases
cd /var/www/releases/
sudo rm -fR `ls -t /var/www/releases/ | tail -n +6`
echo 'Deployment successful!'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment