到目前为止,我们一直在托管我们的mercurial存储库并使用hg serve直接相互拉动。在审核代码之后,QA会将其推送到我们的webdev服务器,该服务器充当登台环境。 (php web)应用程序在投入生产之前再次进行测试。
Hg服务并不总是可靠的(比如当你想要从中运行的服务器没有运行!),所以我们正在考虑切换到代码托管(即BitBucket)。所以,我们在那里都有我们自己的帐户,webdev服务器也会有一个帐户......但是,在QA推送到webdev repo后,这些更改如何将其恢复到物理webdev服务器?有人登录服务器来拉取它们吗?这听起来不对......
我的替代方案是webdev服务器repo根本没有托管,QA直接用ssh推送到服务器 - 这是人们做的吗?
我是初学者,所以请随意纠正任何错误的假设,我非常感谢您的帮助!
答案 0 :(得分:1)
您的设置听起来不错。要将代码从主机获取到服务器,您可以
定期轮询存储库。只需每10分钟运行hg pull --update
即可。这是非常便宜的,因为Mercurial将很快确定什么时候没有什么新东西可以拉。
从托管网站触发拉动。许多网站(包括Bitbucket)让您在将变更集推送到网站时运行某些操作。 Bitbucket称这些行为为"services"。
他们提供与许多在线工具的集成,他们也有generic POST service您可以使用。当你启用它时,Bitbucket只需在推送变更集时联系您选择的网址。然后,您应该在调用脚本时在服务器上运行hg pull --update
的位置创建一个脚本。