Git – Deploying with Git/Github

deploymentgitgithub

We are trying to setup an automated deployment environemt with Git/Github. We have 3 different environments; local, test and live. When we add a new feature on local, we first upload files to test server to test the newly created feature. If everything is OK, we than upload all files to live server. But this "uploading" process is not a perfect solution, as we sometimes forget to upload some files. Btw we also have mobile app on iPhone and Android, so mobile may be the fourth environment for us.

What we try to do is to setup an automated deployment environment. When we commit a new feature to test server, after testing this new feature we want to push it to live server.

There may be lots of commits on the test server but we want to push specific commits to live server. We couldn't find how to cope with 3-4 environments and not to mess codes. How will we push correct codes to live server? How will we manage our test and live servers? Are there any good recources telling how to setup different environments and deployment processes with Git/Github? Are there any articles to tell us what to do step-by-step?

I've read those articles but none of them tell how to cope with local, test and live environments.

EDIT 2012-03-09: I've found http://beanstalkapp.com/ and http://springloops.com and they both seem very good at deployment. I'm not sure if I can trust those services but they both do exactly what I want. I will test both and share my results here to inform everyone.

Best Answer

I've finally found what I was looking for. http://beanstalkapp.com seems the best choice. It has automatic deployment feature and supports Git. After testing it for a week, I can say that it works very stable and fast. Thanks everyone for helping me and trying to show me the way.