Last active
October 10, 2016 07:20
-
-
Save haslinger/652e82507139debbe04c446118a6efba to your computer and use it in GitHub Desktop.
Deploy a Phoenix app from a Git repo onto a Ubuntu server
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/bash | |
echo -e "\n\e[96m === Change into directory ===\e[0m" | |
cd phoenix_deployment/pan/ | |
echo -e "\n\e[96m === Start ssh agent ===\e[0m" | |
eval `ssh-agent -s` | |
echo -e "\n\e[96m === Add identity ===\e[0m" | |
ssh-add | |
echo -e "\n\e[96m === git pull repo ===\e[0m" | |
git pull origin master | |
echo -e "\n\e[96m === Get dependencies ===\e[0m" | |
MIX_ENV=prod mix deps.get | |
echo -e "\n\e[96m === Compile assets ===\e[0m" | |
MIX_ENV=prod mix phoenix.digest | |
echo -e "\n\e[96m === Compile app ===\e[0m" | |
MIX_ENV=prod mix compile | |
echo -e "\n\e[96m === Create release ===\e[0m" | |
MIX_ENV=prod mix release | |
echo -e "\n\e[96m === Create new app dir ===\e[0m" | |
sudo mkdir /var/phoenix/pan_new | |
echo -e "\n\e[96m === Move to deployment dir ===\e[0m" | |
cd /var/phoenix/pan_new | |
echo -e "\n\e[96m === Untar app ===\e[0m" | |
sudo tar xfz ~/phoenix_deployment/pan/rel/pan/releases/0.0.1/pan.tar.gz | |
echo -e "\n\e[96m === Set ownership ===\e[0m" | |
sudo chown -R www-data:www-data /var/phoenix/pan_new | |
echo -e "\n\e[96m === Stop service ===\e[0m" | |
sudo service pan stop | |
echo -e "\n\e[96m === Move old app out of the way ===\e[0m" | |
sudo mv /var/phoenix/pan /var/phoenix/pan-$(date -d "today" +"%Y%m%d-%H:%M:%S") | |
echo -e "\n\e[96m === Move new app in place ===\e[0m" | |
sudo mv /var/phoenix/pan_new /var/phoenix/pan | |
echo -e "\n\e[96m === Start service ===\e[0m" | |
sudo service pan start | |
echo -e "\n\e[96m === cd back into ~ ===\e[0m" | |
cd ~ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment