簡體   English   中英

GIT工作流程開發(所有文件)與生產(部分文件)

[英]GIT workflow development (all files) vs production (partial files)

設定:

1個GIT存儲庫,其中包含客戶機/服務器/共享代碼,當前位於1個分支上。

構建過程:

  • 客戶端是基於Web的應用程序,需要最小化/打包/等,從而生成一個文件
  • 服務器暫時保持不變,盡管稍后可能會捆綁在一起

問題:

我不希望所有文件都在我的生產服務器上,而只是客戶機和服務器文件夾的捆綁版本 如果我將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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM