2013-02-06 108 views
0

我目前正致力於提供某些項目的服務器供應和部署自動化。我決定使用Sprinkle & Capistrano。我實際上堅持處理ssh用戶的東西,因爲我想,作爲供應階段的一部分,用sprinkle創建一個「部署」用戶,Capistrano應該使用它來執行部署。我正面臨的問題與我應該配置deploy.rb的方式有關,我不知道如何設置用戶密碼(讓我們說「root」)被sprinkle使用,然後將其更改爲新創建的「部署」用戶使用Capistrano執行部署。配置和部署是兩個不同的階段,但它們共享相同的配置,也許有一些技巧可以做到這一點;有人在這方面有經驗嗎?服務器供應和RoR應用程序的部署

+0

從服務器到服務器部署用戶的用戶名的變化,也可以使用相同的用戶名? – PinnyM

+0

部署者的用戶名和密碼不會因服務器而改變。根憑證也會發生同樣的情況。 –

回答

0

可以配置Capistrano酒店的部署用戶,像這樣:

set :user, "deploy_username" 

您還可以設置使用set :password, "secret_password"密碼,但它可能是更明智的手動輸入密碼,或有灑設置SSH密鑰爲你。這將避免以明文形式存儲密碼。

調入ssh塊下也有類似的設置:

ssh do 
    user 'sprinkle_user' # defaults to 'root' 
    password 'secret' 
end 

但同樣的問題適用於這裏 - 你應該手動提供密碼用於此目的。

0

我會建議使用ElasticBox在任何雲中配置Rails服務器。

您只需要爲此目的創建一個自定義框或使用Rails框自動執行它。

箱抽象爲您提供的靈活性,任何自定義步驟添加到您的文件(如deploy.rb),你也可以添加腳本做任何ssh配置在部署時間服務器。

這裏是一個很好的博客文章,解釋如何使用ElasticBox部署多服務器的Rails應用程序: https://elasticbox.com/blog/deploy-multi-server-rails-app/

相關問題