【发布时间】:2012-03-26 00:59:12
【问题描述】:
我们正在尝试使用 Git/Github 设置自动部署环境。我们有 3 种不同的环境;本地,测试和生活。当我们在本地添加新功能时,我们首先将文件上传到测试服务器以测试新创建的功能。如果一切正常,我们将所有文件上传到实时服务器。但是这种“上传”过程并不是一个完美的解决方案,因为我们有时会忘记上传一些文件。顺便说一句,我们在 iPhone 和 Android 上也有移动应用程序,因此移动设备可能是我们的第四个环境。
我们尝试做的是设置一个自动化的部署环境。当我们提交一个新功能到测试服务器时,在测试完这个新功能后,我们希望将它推送到实时服务器。
测试服务器上可能有很多提交,但我们希望将特定提交推送到实时服务器。我们找不到如何应对 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 不是部署工具。有更适合此目标的工具。您可以做的就是将它们组合在一起。
-
我知道 Git 不是一个部署工具,但是很多开发人员都在使用 Gitlike 一个部署工具。我们使用 Github 来存储我们的代码,所以我们认为使用 Git/Github 作为部署工具会很棒。
-
这个问题非常适合Server Fault - 例如this 问题(那里的许多类似问题之一)。
-
作为过去 5 年多的 Springloops 用户,我可以说他们的部署设置轻而易举。我想知道我现在是否可以通过 Github 完成任何几乎一样酷的事情。
标签: git deployment github