我在這裏不知所措,在爲海洋解決方案(閱讀:互聯網)搜索解決方案之後,我只剩下堆棧了。任何幫助讚賞。Capistrano在多個主機部署中失敗
我有capistrano運行本地部署到幾個不同的環境。 (我在Windows 7上,fwiw)。一切都很好,直到我需要在單個部署期間部署到多個應用程序服務器。
當我撥打cap deploy
時,通常會提示輸入我的ssh密碼。我有ssh-agent運行(git從來沒有爲我的傳球而痛苦),但儘管這個Capistrano在每次部署時都會給我一次警告。無論如何,它在部署到一臺主機時總是有效。
現在,當我試圖同時部署到多臺服務器,它要求我的密碼似乎是多次:
(IPS由ME移除)
servers: ["redacted", "redacted"]<br />
Enter passphrase for ~/.ssh/id_rsa: Enter passphrase for ~/.ssh/id_rsa:
因此,與上述我輸入我的密碼,但這不起作用。它等待的小會兒,然後吐出了這個錯誤:
connection failed for: <one of the server ips> (NoMethodError: undefined method `overwrite' for nil:NilClass)
這就是那結束。
- 我可以「無密碼」SSH服務器我部署就好了。
- 我很確定ssh-agent正在運行,因爲我可以每次都打Git w/out輸入我的密碼短語
- 在cap部署中使用'forward_agent'設置不起作用。
- 這是我的角色:
role :app, "ip 1 removed", "ip 2 removed"
- 如果我設置
default_run_options[:max_hosts] = 1
,它的工作原理確定,但它要求我的密碼短語,其最終被很多每臺主機我部署到..每一個連接。
基本上我尋找任何的下方(但不限於): - 「你永遠不會解決在Windows」 - 「這是你如何得到Capistrano的REAL密碼的部署「 - 」你忽略了這個設置/功能嗎?「 - 「我有一塊石頭可以修補任何東西,你可以借用它」
謝謝!
我有多個階段,所以我會打電話: cap production invoke ... 這樣做會失敗,因爲它會同時爲每個服務器形成密碼(即:我一次被問到密碼,但我是沒有機會4次進入)。 爲單個服務器運行此工作正常,例如: cap prod1調用... 因爲我可以在任何單獨的服務器上成功調用,所以我毫不猶豫地認爲它的用戶變量。 我必須通過VPN連接,我不知道這是否與它有關。 – morris082 2010-06-26 17:57:10