【发布时间】:2012-07-12 00:26:41
【问题描述】:
在工作中,我们正在从无 SCM 转向 Mercurial。这是一个学习曲线,但在搞砸了两天之后,我确实感觉更舒服了。
我仍然有一个未解决的大问题:代码完成后,我们如何处理实际部署?
我们应该在生产(实时)服务器上运行 Mercurial 的副本吗?或者我们应该设置 rsync 或其他东西来从 repo 同步到 web 目录?这里的最佳做法是什么?
如果我们只是将 apache 指向 repo,我认为这没问题,只要我们小心不要 hg update 到不同的、不稳定的分支?不过,这对我来说仍然有点危险。有没有办法强制它只切换到某些版本?
或者将 apache 指向 repo 只是一个糟糕的主意,而我应该做其他事情?
在一个相关主题上,我还听到一些关于将任何升级脚本(例如 MySQL 的架构更改)置于版本控制之下的讨论,以便在版本部署时可以运行它们。但这将如何作为工作流程的一部分工作呢?我不想保留它和其他所有东西,因为它是一个临时的一次性使用脚本......
感谢你们提供的任何建议。
【问题讨论】:
-
如果您将 Apache 配置为直接指向存储库工作副本,小心拒绝访问
.hg目录。如果您不这样做,每个人都可以通过指向您的网站来克隆您的完整源代码库。