[英]GIT workflow development (all files) vs production (partial files)
設定:
1個GIT存儲庫,其中包含客戶機/服務器/共享代碼,當前位於1個分支上。
構建過程:
問題:
我不希望所有文件都在我的生產服務器上,而只是客戶機和服務器文件夾的捆綁版本 。 如果我將master分支拉進去,我將獲得所有文件,而不僅僅是捆綁版本。
解:
??? -我該如何處理? 創建其他存儲庫,創建多個分支? 通常如何完成?
通常,您希望將源代碼管理,構建過程和可部署工件分開。 Git主要用於源代碼控制,公認的做法是僅包含源代碼。
然后,您將使用某些構建工具(Jenkins,Bamboo等)對其進行構建。然后,您可以使用構建工具中的構建結果,或者如果您更喜歡對Nexus或工件等工件使用版本控制。
這聽起來可能很復雜,但是將來確實可以避免很多問題。
您可以使用.gitattributes (5)
export-ignore
指令來選擇版本控制中的文件,但是在生產中不需要。
如果您使用Capistrano 3這樣的部署系統,它將實際上使用git-archive (1)
。 此命令將創建要在發布文件夾中部署的存檔,並且將遵守.gitattributes
文件中export-ignore
規則。
對於客戶端文件,您可以在本地或在您部署的計算機上捆綁文件,然后將其重新rsync
或以任何其他方式將其上傳到生產計算機上的發布文件夾,然后再激活新版本。
我還可以建議您實際將客戶端文件部署到CDN上,並且服務器將只提供CDN中帶有版本控制客戶端的HTML頁面。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.