2011-10-05 39 views
2

背景:git repo應該包含部署所需的所有二進制和靜態文件嗎?

我是我們團隊中兩位開發人員之一。我們一直在內部使用git 6個月,取得了巨大的成功。但是,我們仍然通過FTP「手動部署」到我們的生產服務器......我們不想冒任何自動部署的風險,直到我們熟悉git工作流程。我們現在有一個開發服務器設置,正在研究某種「一鍵式」部署......我聽說有些人在代碼回購中對開發服務器進行了「git pull」。我也聽說有些人「使用rsync」登臺服務器的文件。

問:

如果我們的混帳回購協議包含的所有較大的文件是永遠不會改變(如我們的Java照片上傳小程序使用.cab文件)。顯然,我們的緩存HTML文件不屬於回購...但是我們的PDF產品指南等呢?這些應該全部由git跟蹤? (我目前在gitignore上有它們以節省github和我們機器上的空間)。

什麼是合適的 「一個行動」 部署我們的設置stratergy:

  • 開發筆記本電腦1(辦公室/家庭)
  • 開發筆記本電腦2(辦公室/家庭)
  • 開發服務器(辦公室)
  • 生產服務器(關閉網站)

感謝

+0

只是一個註釋,PDF文件聽起來更像是內容而不是應用程序的一部分。我不喜歡將內容存儲在我們的存儲庫中。內容存儲在共享存儲中,並使用專用工具進行備份。 – jkulak

回答

6

通常的策略假設你的git存儲庫包含全部構建完整目標產品(源代碼,附加二進制庫,驅動程序,構建腳本等)所需的必要文件。

無論是.zip包,整個應用程序的安裝程序文件 - git存儲庫應該是自給自足的。每個開發人員應該能夠克隆存儲庫並能夠創建完整的輸出。 當然前提是有完整的開發環境。

因此,您可能會將.cab文件包含在存儲庫中,或者從源代碼構建它。

然而,不要簡單地將資源庫克隆並拉到生產服務器上,您可以使用構建服務器(例如Hudson)來構建和同步完整的生產目標。這種方式即使PDF可以從例如。 LaTeX文件。

+1

對於在部署之前測試新版本的構建服務器+1 – ZeissS

相關問題