代码托管如何与暂存环境一起使用

时间:2012-01-23 09:58:39

标签: mercurial staging

到目前为止,我们一直在托管我们的mercurial存储库并使用hg serve直接相互拉动。在审核代码之后,QA会将其推送到我们的webdev服务器,该服务器充当登台环境。 (php web)应用程序在投入生产之前再次进行测试。

Hg服务并不总是可靠的(比如当你想要从中运行的服务器没有运行!),所以我们正在考虑切换到代码托管(即BitBucket)。所以,我们在那里都有我们自己的帐户,webdev服务器也会有一个帐户......但是,在QA推送到webdev repo后,这些更改如何将其恢复到物理webdev服务器?有人登录服务器来拉取它们吗?这听起来不对......

我的替代方案是webdev服务器repo根本没有托管,QA直接用ssh推送到服务器 - 这是人们做的吗?

我是初学者,所以请随意纠正任何错误的假设,我非常感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您的设置听起来不错。要将代码从主机获取到服务器,您可以

  • 定期轮询存储库。只需每10分钟运行hg pull --update即可。这是非常便宜的,因为Mercurial将很快确定什么时候没有什么新东西可以拉。

  • 从托管网站触发拉动。许多网站(包括Bitbucket)让您在将变更集推送到网站时运行某些操作。 Bitbucket称这些行为为"services"

    他们提供与许多在线工具的集成,他们也有generic POST service您可以使用。当你启用它时,Bitbucket只需在推送变更集时联系您选择的网址。然后,您应该在调用脚本时在服务器上运行hg pull --update的位置创建一个脚本。