【发布时间】:2010-10-27 06:44:33
【问题描述】:
我正在使用 mercurial 进行网站开发。我“认为”我使用正确。
我在我的开发机器上开发,相当定期地提交。我会定期将我的提交推送到我的托管站点开发存储库。
如果事情是按照我希望的方式为实时站点设置的,我会从我的开发机器推送到托管的站点实时存储库。然后我从该存储库下拉到实时服务器。
但是,需要进行一些更改(将目录从 localhost 更改为 www.example.com,更改数据库连接内容等)。
我所做的是在我的 live 机器上进行这些更改,然后将它们推送回 site-live 存储库。我真的不知道我为什么要这样做,但至少有一个变更集坐在那里进行必要的配置更改。
我不知道如何管理这个过程。除了与 hg 一起提交、推和拉之外,我有点迷失了。我是一个开发者,甚至还没有完成合并。
是否有某种方法可以识别特定的变更集并应用它,希望甚至在我从 repo 拉到实时服务器之前?
我想你可以从我的问题中看出,我现在对 hg 和工作流程有点不知所措;)
【问题讨论】:
-
我基本上遵循了以下 pyfunc 的建议,并使用了 CodeIgniter 论坛的一些帮助。我在 index.php 引导文件中添加了一个常量“IS_PRODUCTION”,该文件是根据 $_SERVER['SERVER_NAME'] != 'localhost' 是否有条件地分配的。然后我只是在我的配置文件中引用了这个常量,并根据它的值有条件地设置参数。我将 .htaccess 文件保留在 mercurial 之外并手动上传,一切都像魅力一样工作。我可以从我的开发推送到 repo,从那里拉到实时站点,而不改变任何东西。
标签: deployment mercurial workflow