将白标签实例部署到不同子域时使用的Git策略



我有一种情况,哪种git策略适合使用?

情况:

我们有一个应用程序,它有一个git存储库。其中我们遵循分支策略,

  1. 分支:开发:所有开发人员用于实现功能

  2. 分支:测试:部署到当前为止开发的代码来测试应用程序。

  3. 分支机构:生产:在测试团队批准后,我们将测试分支机构合并到生产&将其部署到生产环境中。

问题:

  1. 现在我们有3个不同的生产安装(site1.mainDomain.com、site2.mainDomain.com和site3.mainDomain.com),目前,这3个安装有不同的标题(徽标、标题颜色)。

  2. site1.mainDomain.com可能有一些功能可以在未来开发;只能用于site1.mainDomain.com.

  3. 网站1.mainDomain.com、网站2.mainDomain.com的一些未来功能可能很常见,但网站3.mainDomain.com则不然。

  4. 现在,如果网站1.mainDomain.com&这是基础分支的主要问题,我们将如何管理这件事。

那么,要实现这一点,哪种git策略是有用的?我在读关于子模块、git子树、git补丁的文章。。但做出这个决定有点困惑。请提出最佳解决方案和策略。

提前谢谢。Vijay

我认为你在错误的地方(版本控制系统)来解决这个问题。在这种情况下,我通常会为不同的上下文创建不同的设置文件,将所有设置文件保存在同一个git分支中,并为每个部署都有一个小的本地配置文件(主要是选择正确的上下文)。然后,您的代码可以根据上下文检查要显示什么类型的内容。

我强烈建议不要为每个网站创建不同的功能分支,因为这会让你陷入混乱,并且不断地快速解决合并冲突。

我强烈建议不要使用git来解决这个问题。我可以从经验中看出,因为我正在进行的项目陷入了无正当理由需要维护两个git分支的陷阱。Github Firewall Install(Github:FI,是Github Enterprise的前身)也出现了同样的问题。

我建议看看Feature Flag(Feature Toggle)模式来解决您的问题-http://martinfowler.com/bliki/FeatureToggle.html

最新更新