我们有一个代码库,我们销售给多个客户端。我们使用git进行版本控制,并使用Capistrano进行自动化部署。通过capistrano和git部署相同的代码块,并向多个服务器部署相同的代码块
部署之间存在细微的差异,例如设计布局,css文件,徽标和配置文件,例如CAKEPHP的前端控制器,其中包含应用程序路径和cakephp目录。
我们目前拥有该项目的主要/分期分支。我们在主题分支中进行开发,一旦主题分支准备好合并到代码库中,我们将主题分支合并到分段并部署到主分段服务器。
一旦代码已经过测试,我们准备发布我们合并到主。然后我们必须部署到不同的客户端服务器。我们为每个客户端都有一个分段和生产服务器。
目前我们为每个客户端都有一个分段和生产分支,我们从每个单独的分支部署到每个服务器。这变得非常痛苦,因为我们必须将我们的主项目分支合并到每个客户的分段/生产分支中,并为每个服务器运行cap deploy
。
我们如何才能从一个分支部署到客户端服务器,但包含每个客户端服务器工作所需的不同文件并且看起来合适?