【问题标题】:Deploying with Git/Github使用 Git/Github 进行部署
【发布时间】:2012-03-26 00:59:12
【问题描述】:

我们正在尝试使用 Git/Github 设置自动部署环境。我们有 3 种不同的环境;本地,测试和生活。当我们在本地添加新功能时,我们首先将文件上传到测试服务器以测试新创建的功能。如果一切正常,我们将所有文件上传到实时服务器。但是这种“上传”过程并不是一个完美的解决方案,因为我们有时会忘记上传一些文件。顺便说一句,我们在 iPhone 和 Android 上也有移动应用程序,因此移动设备可能是我们的第四个环境。

我们尝试做的是设置一个自动化的部署环境。当我们提交一个新功能到测试服务器时,在测试完这个新功能后,我们希望将它推送到实时服务器。

测试服务器上可能有很多提交,但我们希望将特定提交推送到实时服务器。我们找不到如何应对 3-4 个环境而不是乱码。我们如何将正确的代码推送到实时服务器?我们将如何管理我们的测试和实时服务器?是否有任何好的资源告诉如何使用 Git/Github 设置不同的环境和部署过程?有没有文章告诉我们一步一步该怎么做?

我已经阅读了这些文章,但没有一篇说明如何应对本地、测试和实时环境。

编辑 2012-03-09:我找到了 http://beanstalkapp.com/http://springloops.com,它们似乎都非常擅长部署。我不确定我是否可以信任这些服务,但它们都完全按照我的意愿行事。我将测试两者并在这里分享我的结果以通知大家。

【问题讨论】:

  • Git 不是部署工具。有更适合此目标的工具。您可以做的就是将它们组合在一起。
  • 我知道 Git 不是一个部署工具,但是很多开发人员都在使用 Gitlike 一个部署工具。我们使用 Github 来存储我们的代码,所以我们认为使用 Git/Github 作为部署工具会很棒。
  • 这个问题非常适合Server Fault - 例如this 问题(那里的许多类似问题之一)。
  • 作为过去 5 年多的 Springloops 用户,我可以说他们的部署设置轻而易举。我想知道我现在是否可以通过 Github 完成任何几乎一样酷的事情。

标签: git deployment github


【解决方案1】:

我终于找到了我要找的东西。 http://beanstalkapp.com 似乎是最好的选择。它具有自动部署功能并支持 Git。经过一周的测试,我可以说它运行起来非常稳定和快速。感谢大家帮助我并为我指明方向。

【讨论】:

  • 看起来人们可以免费试用最昂贵的计划 30 天。
【解决方案2】:

听起来您需要一个Continuous Integration 系统。我在JenkinsWebistrano 上都取得了巨大的成功。

关于“我们应该复制哪些文件?”问题。你还在用 git 标签吗?如果没有,请开始使用它们!

【讨论】:

    【解决方案3】:

    git 是否是正确的选择,这是一个很好的问题。

    但是,如果您要这样做,您应该阅读gitworkflows 手册页。具体来说,考虑到上述问题,它会推荐什么以及听起来正确的是,您需要将要开发的每个单独的“事物”放入主题/功能分支,然后在完成后将该分支合并到正确的树中。这使您可以将事物分开,以便合并需要且稳定的内容,而不合并不需要的内容。

    【讨论】:

      【解决方案4】:

      我最终创建了自己的基本部署工具,它会自动从 repo 中提取新更新 - https://github.com/jesalg/SlimJim - 我认为它不能完全满足您的需求,但您可以阅读它的设置方式,也许您可​​能会得到一些想法。

      【讨论】:

        【解决方案5】:

        我目前正在以这种方式使用 git,刚刚发布了一篇关于 here 的博客文章。

        我通常做的是使用 post-receive 挂钩来查找推送到发布分支的提交,并在找到后使用 git archive 命令部署代码库。

        这对于小型项目来说很好,如果您有多个开发人员在一个项目上工作,或者它是一个庞大而复杂的代码库,我确实建议使用像之前评论中建议的 Jenkins 这样的持续集成系统。

        看看这个,看看它是否适合你的需要(包括一个简单的 bash 部署脚本)

        干杯

        【讨论】:

          猜你喜欢
          • 2015-04-06
          • 2020-10-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-09-03
          • 2012-06-03
          • 1970-01-01
          • 2013-10-07
          相关资源
          最近更新 更多