Setup git deploy for AWS ec2 Ubuntu instance
The following instructions are for setting up git deployment on an AWS ec2 ubuntu instance (or any ubuntu server for that matter). Also included are instructions for deploying to the remote server and github simultaneously.
Git deploy setup:
1. copy your public key to your ec2 instance:
cat ~/.ssh/id_rsa.pub | ssh -i ~/.ssh/your_pemfile.pem ubuntu@your_ip_addr "cat>> .ssh/authorized_keys"
2. on remote server: create bare git directory
$ cd ~ $ mkdir ProjectDir.git && cd ProjectDir.git $ git init --bare
3. on remote server: create post-receive hook
$ cat > hooks/post-receive #!/bin/sh GIT_WORK_TREE=/home/ubuntu/www/yourdomain.com export GIT_WORK_TREE git checkout -f
$ chmod +x hooks/post-receive
4. on local machine: init repo and add remote repository
git init git remote add ec2 ssh://ubuntu@your_ip_addr/home/ubuntu/ProjectDir.git git push ec2 +master:refs/heads/master
note: only have to use “+master:refs/heads/master for 1st push
To push to remote repo in future:
$ git push ec2 master
Push to multiple remote repos with one command
1. add to .git/config in local repo
[remote "all"] url = https://github.com/YourGitAccount/ProjectDir.git url = ssh://ubuntu@your_ip_addr/home/ubuntu/projects/ProjectDir.git
2. push to both repos simultaneously
$ git push all master