2013-06-27 152 views
0

我遵循Ryan Bates'部署到VPS Railscast的指示,將我的應用程序部署到Digital Ocean上的Ubuntu雲服務器。運行cap deploy:cold後,幾個不同的命令被成功執行,但是當它執行bundle:install時,它會長時間處於'執行命令'模式,而不會拋出任何類型的錯誤或完成,像這樣capistrano'執行捆綁安裝'未完成

command finished in 171ms 
    * 2013-06-27 12:57:07 executing `bundle:install' 
    * executing "cd /home/michaelj/apps/qbruby2/releases/20130627195707 && bundle install --gemfile /home/michaelj/apps/qbruby2/releases/20130627195707/Gemfile --path /home/michaelj/apps/qbruby2/shared/bundle --deployment --quiet --without development test" 
    servers: ["192.xxx.xxx.xxx"] 
    [192.241.129.33] executing command 

我看了一些別人的部署(#2),看到這個命令通常在幾毫秒內完成。我的整個gemfile文件少於20個寶石(即標準寶石加上一些額外的文件),但部署在這裏暫停了20多分鐘。

你能建議我可能做什麼嗎?

+0

如果您嘗試在ssh中將命令運行到服務器以查看是否存在某個問題,該怎麼辦? – Aguardientico

+0

我不明白。你能詳細解釋一下嗎?我不知道你的意思是「在我的服務器中運行命令」還是運行「進入」我的服務器 – Leahcim

+0

運行'ssh youruser @ your_server_addr_at_digital_ocean'。在ssh shell中輸入:'cd/home/michaelj/apps/qbruby2/releases/20130627195707 && bundle install --gemfile/home/michaelj/apps/qbruby2/releases/20130627195707/Gemfile --path/home/michaelj/apps/qbruby2/shared/bundle --deployment --quiet --without development test' – Aguardientico

回答

1

解決這些問題的第一步是確保您可以遠程運行這些命令。

謝天謝地,capistrano輸出了它試圖執行的命令。然後你可以複製/粘貼到服務器。

以我的經驗,我見過ssh服務器終止長時間運行的進程的ssh會話。 (即遷移或束安裝例如)對於這些情況,有幾個選項(修改服務器上的sshd_config已爲我工作)

添加這些行到/ etc/SSH/sshd_config中 ClientAliveInterval 30 ClientAliveCountMax 5