2011-03-16 88 views
0
  • 開發A - 本地的資源庫 - >拉/推---> github上
  • 開發人員B - 本地的資源庫 - >拉/推---> github上
  • Capistrano的將留在我們的開發者的機器,但是我們將定義:存儲庫指向我們的GitHub項目:set:repository,「[email protected]:myuser/myproject.git」#我的克隆網址
  • 開發人員A或開發人員B必須被允許部署已提交的文件到生產機器。

我不確定第三點在這裏,這可能嗎?共享主機上沒有git命令的Capistrano部署?

我已經告訴ctcherry這裏On this workflow, does git command needs to be installed on the production server?說:

1)默認情況下Capistrano的部署會從存儲庫 ,所以 得到部署的文件,將來自被檢查到GitHub上 碼。您 可以配置Capistrano的使用不同的「部署 戰略」由 部署從開發本地機器 在這裏看到: http://rubydoc.info/gems/capistrano/2.5.19/Capistrano/Deploy/Strategy/Copy

但我還是有疑問這裏。

如果我們使用這種方法,那麼這裏的工作流程會在什麼地方?

  • 從開發者機器A-我們使用Capistrano從github抓取提交的文件。
  • 從同一個開發人員機器A - 我們通過SSH將這些文件部署到共享主機,這些文件將被放置在正確的位置?

是嗎?

更新: 請我從未使用過任何的Git或Capistrano的部署然而,我盡我所能,試圖瞭解這一切可能工作,爲了讓一個好的工作流開發過程中對我的ZF基於應用。

所以我的問題是非常基本的問題。

如果我必須提供任何其他信息,請讓我知道。

非常感謝。

+0

蒂姆把它下拉到正確的位置,用zip/unzip。抱歉,我以前沒有在其他帖子上看到您的消息。 – ctcherry 2011-03-16 17:25:54

+0

@ctcherry - 哦,拜託。不要擔心。你已經5次開始幫助我。 :) 謝謝你們倆!真。 :) – MEM 2011-03-16 18:34:19

回答

2

工作流程是一樣的。會發生什麼情況是,無論開發人員何時嘗試部署該項目,Capistrano都會首先將新項目複製到其計算機上的臨時目錄中,然後將其壓縮並上傳到遠程服務器。在遠程服務器上,檔案將被解壓縮,其他一切正常工作。

請注意,這種方法比'正常'部署慢得多,特別是當您的Internet連接速度較慢時,因爲整個項目每次都被複制。

+0

我的網絡連接正常。所有這些問題的原因只是:我應該離開我的共享主機公司,不允許git命令和addopt這樣,否則這可能會變得混亂,我真的應該做這個「正確的方式」?假設我的共享主機公司允許我安裝非常特定的git命令(不是git命令本身),我的問題是:capistrano將在此場景中使用哪些特定的git命令或命令? (如果上面沒有任何意義,請告訴我,爲什麼)。非常感謝。我真的很抱歉再次花費你的時間......關心。 – MEM 2011-03-16 15:26:54

+0

如果你的主機不允許安裝git這種方法是絕對沒問題的。部署需要的時間是唯一的缺點,所以如果這不是問題,那麼我就堅持這一點。 – 2011-03-16 16:51:52

+0

@MEM也可以使用自定義部署策略,例如使用Rsync使這些部署更快,以下是有人做了這樣的事情:https://github.com/vigetlabs/capistrano_rsync_with_remote_cache/tree注意:我沒有測試過它。 – ctcherry 2011-03-16 17:26:39