我們有一個代碼庫,我們銷售給多個客戶端。我們使用git進行版本控制,並使用Capistrano進行自動化部署。通過capistrano和git部署相同的代碼塊,並向多個服務器部署相同的代碼塊
部署之間存在細微的差異,例如設計佈局,css文件,徽標和配置文件,例如CAKEPHP的前端控制器,其中包含應用程序路徑和cakephp目錄。
我們目前擁有該項目的主要/分期分支。我們在主題分支中進行開發,一旦主題分支準備好合併到代碼庫中,我們將主題分支合併到分段並部署到主分段服務器。
一旦代碼已經過測試,我們準備發佈我們合併到主。然後我們必須部署到不同的客戶端服務器。我們爲每個客戶端都有一個分段和生產服務器。
目前我們爲每個客戶端都有一個分段和生產分支,我們從每個單獨的分支部署到每個服務器。這變得非常痛苦,因爲我們必須將我們的主項目分支合併到每個客戶的分段/生產分支中,併爲每個服務器運行cap deploy
。
我們如何才能從一個分支部署到客戶端服務器,但包含每個客戶端服務器工作所需的不同文件並且看起來合適?