2014-03-27 79 views
0

我想部署與Capistrano 3的Magento應用程序。假設我會使用this gitignore file。 由於這些文件不在存儲庫中,因此它們不會被複制到遠程服務器。但是我第一次部署應用程序時應該複製這些文件。 達成此目的的最佳方法是什麼?我應該在第一次手動上傳文件到遠程服務器嗎?我應該使用另一個.gitignore並將這些文件包含在存儲庫中嗎?或者,還有更好的方法?首次部署Capistrano 3

回答

0

聲明:我是根本不熟悉Magento

對於在每臺服務器上首次部署之前必須運行一次的所有內容,請使用deploy:setup(請參閱docs)。

你的情況的問題是,該capistrano將默認創建一個新的目錄,每次部署並鏈接它作爲current。因此,即使您複製第一次部署的文件,第二次部署也會使用其他文件夾。

我看到兩種方法:

  1. 將文件複製問題上的每個部署
  2. 使用Capistrano的創建shared文件夾,有上傳您的文件只有一次(在安裝過程中),並在後來展開時複製或鏈接相應的文件/文件夾

通常您應該重新考慮您的項目結構。也許不要把所有這些文件都放在gitignore上是件好事,因爲它們似乎是你項目的一個組成部分。一般來說,我只能把gitignore那些東西:

  1. 可再現的(如編譯資產)
  2. 臨時(緩存等)
  3. 敏感(含配置文件密碼)
  4. 地方(如CONFIGS或在每臺機器上都是特定的)

所以在你的情況下,似乎你有一些庫和像.gitignore這樣的東西,我猜沒有那些你的項目不會工作。因此,我會將它們添加到回購中,或者考慮將它們添加爲submodules,如果它們較大並且可能受第三方更改。

+0

這很合理,謝謝! – happyroel

+1

Capistrano 3中不存在'deploy:setup'。 –