0

在我们实施之前,尝试在我们的 Coldfusion 商店中为多个开发人员找到一个可行的工作流程。

目前,我们大多数人(仍然)直接在生产中工作。我想改变它。

如果每个开发人员都有自己的存储库,并且在测试和生产 Web 服务器上有存储库,那么“中央”存储库的价值是什么?在这种情况下,像 BitBucket 这样的东西有什么价值?

4

4 回答 4

0

分布式版本控制的最大优点之一是它允许您围绕自己的开发流程设计工作流程。您不需要中央存储库,但许多项目最终都使用一个。

中央存储库是跟踪代码库最新版本的好方法。这意味着当开发人员想要获取最新代码的副本时,他们总是知道从哪里提取/克隆,而不必询问团队周围的情况。

拥有中央存储库不会以任何方式限制您,您仍然可以使用其他工作流程。例如,如果团队中的一些成员正在开发一个功能,他们可以在他们的开发存储库之间进行推送和拉取,而无需推送到中央存储库。

于 2013-05-06T21:14:06.397 回答
0

托管在 BitBucket 或您公司的服务器上的中央存储库(假设它们受到物理保护和备份)为您提供了可靠地使它们可用和业务连续性的优势,以防发生非常糟糕的事情。

如果其中一个硬盘驱动器崩溃,则存储库的多个副本是好的。但是,如果火灾或盗窃用存储库清除了所有硬盘驱动器(我已经读过一个发生这种情况的案例),那么您将一无所有。

于 2013-05-06T20:58:36.083 回答
0

如果您使用中央存储库,则可以将开发放入 dev 分支,而将生产分支仅用于错误修复。另外,我认为在生产环境中运行一个 mercurial repo 是一个坏主意。考虑将生产服务器与存储库分离的常规部署策略。

但我必须承认,我没有使用 Coldfusion 的经验,也许直接从存储库运行是完全可以的。

于 2013-05-06T16:34:13.410 回答
0

bitbucket 的主要优点是不需要服务器设置/维护/备份,您可以在任何可以访问互联网的地方访问它。

@luksch 对直接从克隆的 repo 运行 prod 提出质疑是正确的。至少你要确保你没有提供 .hg 目录。我鼓励您使用某种部署脚本,该脚本会从 mercurial 软件包的标签中获取源代码,将其放在 repo 上,然后重新启动或执行 CF 服务器所需的任何操作。

我在冷融合方面的最佳体验(就像我有最好的根管一样)是当我们放弃 adobe 的服务器并使用railo时,这使我们无需为所有服务器上的许可证支付 adobe 费用,并且可以轻松打包应用程序和它在战争中的运行时 - 从而使部署变得超级容易。

于 2013-05-06T19:24:20.480 回答