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