Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save supercid/3c6522cea111fa1a7184453e6cd4b0c4 to your computer and use it in GitHub Desktop.
Save supercid/3c6522cea111fa1a7184453e6cd4b0c4 to your computer and use it in GitHub Desktop.
Automatic Git deploys on Dreamhost
#!/bin/bash
# Replace this line with your real domain name
DOMAIN=mydomain.com
echo
echo "-= Transferring changes to $DOMAIN =-"
echo
# Clearing git env
unset GIT_DIR
unset GIT_WORK_TREE
cd ~/$DOMAIN
git pull
echo
echo "-= Done =-"
echo
# Replace any brackets with real values
# Try to ssh in to DREAMHOST (ensure it no longer asks for a PW); you may want to restart Terminal
ssh [user]@[host]
cd ~
mkdir [mydomain_com].git
cd [mydomain_com].git
git init --bare
vi hooks/post-receive
# Enter the code from the "post-receive" file (in this gist); save + quit
cd ..
git clone [mydomain_com].git [mydomain.com]
exit
# Add remote to git's list of remote repos
cd [some local git folder]
git remote add live ssh://[user]@[host]/~/[mydomain_com].git
# Push to production :)
git push live master
# Replace any brackets with real values
# Before you start this, ensure that you have added shell (ssh) access for your hosted account (not just sftp/ftp).
# You may need to generate a new ssh key; if so, follow instructions to generate ssh key
ssh-keygen -t rsa
# Add to authorized keys on DREAMHOST
# For OSX:
cat ~/.ssh/id_rsa.pub | ssh [user]@[host] "mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys"
# Else:
ssh-copy-id [user]@[host]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment