我们正在尝试使用Git/Github设置自动部署环境。我们有3种不同的环境;本地,测试和生活。当我们在本地添加新功能时,我们首先将文件上传到测试服务器以测试新创建的功能。如果一切正常,我们将所有文件上传到现场服务器。但是这个“上传”过程并不是一个完美的解决方案,因为我们有时会忘记上传一些文件。顺便说一句,我们也有iPhone和Android的移动应用程序,所以移动可能是我们的第四个环境。使用Git/Github进行部署
我们试图做的是设置一个自动部署环境。当我们提交新功能测试服务器时,在测试这个新功能之后,我们要将它推送到活动服务器。
测试服务器上可能会有很多提交,但我们希望将特定提交推送到活动服务器。我们无法找到如何应对3-4环境而不是乱码。我们如何将正确的代码推送到现场服务器?我们将如何管理我们的测试和现场服务器?有没有什么好的资源可以告诉你如何用Git/Github建立不同的环境和部署过程?有没有什么文章可以告诉我们一步一步做什么?
我读过这些文章,但没有一篇告诉我们如何应对本地,测试和现场环境。
- http://ryanflorence.com/simple-git-deployment/
- http://ryanflorence.com/deploying-websites-with-a-tiny-git-hook/
- http://toroid.org/ams/git-website-howto
- http://danielmiessler.com/study/git/
编辑2012-03-09:我发现http://beanstalkapp.com/和http://springloops.com,他们似乎都在部署非常好。我不确定我是否可以信任这些服务,但他们都完全按照我的意愿去做。我会测试两者并在这里分享我的结果来通知每个人。
Git不是部署工具。有很多工具更适合这个目标。你可以做的是将这些结合在一起。 – Ikke 2012-03-08 14:51:42
我知道Git不是部署工具,但许多开发人员正在使用Git *,这是一种部署工具。我们使用Github来存储我们的代码,所以我们认为使用Git/Github作为部署工具会很好。 – 2012-03-08 14:54:55
这个问题非常适合于[服务器故障](http://serverfault.com) - 例如[this](http://serverfault.com/q/142729/105371)问题(在那里很多类似的问题之一) )。 – 2012-03-08 14:57:09