我们正在维护一个基于 Lotus Notes 的大型网站,在 Domino Server 8.5.3 上运行。最近我们已经厌倦了我们的项目缺乏源代码控制,所以我们想我们会尝试一些 Git 的东西。但是如何正确地做到这一点呢?
由于各种原因,我不会在这里讨论,我们无法在开发 PC 上本地运行我们的应用程序。我们只能在开发、登台和生产服务器上运行它们。(不幸的是,不能在开发 PC 上运行本地 Domino 服务器。)
这张图说明了目前的情况:
在生产(和暂存)中,有多个网站都具有相同的功能。它们基本上是同一个网站,设计相同,但内容不同。每个站点都包含多个 Notes 数据库(新闻、存档、讨论等)。这些数据库的设计对于所有站点都是相同的,因此它们都从同一组主模板(NewsTemplate、ArchiveTemplate、 DiscussionTemplate 等)继承了它们的设计。
一组主模板的副本驻留在开发服务器上。当我们部署新功能时,所需的代码更改会添加到 Dev 上的模板中。服务器(下面有更多详细信息)。然后将这些模板复制到暂存服务器进行测试,最后复制到生产服务器。这部分工作得很好。
问题可能在图的下半部分。我们目前是两个开发人员,我们都在同一组开发人员中工作。开发中的数据库(新闻、存档、讨论等)。服务器。自然地,我们总是在彼此的工作上绊倒,这很令人沮丧。当需要部署时,将有选择地从 dev.js 集中复制/粘贴要部署的代码。数据库到开发。模板。这是手动完成的,因此出错的风险很高。我们不能简单地将模板的设计替换为开发人员的设计。数据库,因为开发人员。数据库始终包含正在开发的代码。所以我们必须非常小心,只部署“完成”的代码。此外,我们没有更改历史记录。这是一个可怕的,可怕的,
现在,使用 Git、本地副本、数据库副本或诸如此类的东西,实现更简化的开发和部署方案的最佳方法是什么?