Skip to content

Instantly share code, notes, and snippets.

@aronwoost
Created July 25, 2011 19:48
Show Gist options
  • Star 46 You must be signed in to star a gist
  • Fork 18 You must be signed in to fork a gist
  • Save aronwoost/1105010 to your computer and use it in GitHub Desktop.
Save aronwoost/1105010 to your computer and use it in GitHub Desktop.
Build auto-deploy with php and git(hub) on an EC2 Amazon AMI instance

Kind of continue from the other gist how to install LAMP on an Amazon AMI

##Install git

sudo yum install git-core

##Create ssh directory since it doesn't exists by default on the Amazon AMI

sudo mkdir /var/www/.ssh
sudo chown -R apache:apache /var/www/.ssh/

##Generate key for apache user

sudo -Hu apache ssh-keygen -t rsa  # chose "no passphrase"
sudo cat /var/www/.ssh/id_rsa.pub
# Add the key as a "deploy key" at https://github.com/you/myapp/admin

##Get the repo

cd /var/www/
sudo chown -R apache:apache html
sudo -Hu apache git clone git@github.com:yourUsername/yourApp.git html

##Setup the update script

sudo -Hu apache nano html/update.php
<?php `git pull`; ?>

##Set up service hook in github

  1. Go to Repository Administration for your repo (http://github.com/username/repository/admin)
  2. Click Service Hooks, and you'll see a list of available services. Select Post-Receive URL.
  3. Enter the URL for your update script (e.g. http://example.com/update.php) and click Update Settings.

##Sources

@sharat
Copy link

sharat commented Oct 7, 2014

Is this is a safe mechanism? Like putting an update script in the root folder?

@angelakki
Copy link

added

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment