0

我目前正在致力于为某些项目提供服务器配置和部署自动化。我决定使用 Sprinkle & Capistrano。实际上,我一直在处理 ssh 用户的事情,因为我想在使用 Sprink 的配置阶段创建一个“部署”用户,Capistrano 应该使用该用户来执行部署。我面临的问题与我应该配置 deploy.rb 的方式有关,我不知道如何设置用户和密码(比如说“root”)以供洒水使用,然后将它们更改为新创建的“部署”用户使用 Capistrano 执行部署。配置和部署是两个不同的阶段,但它们共享相同的配置,也许有一些技巧可以做到这一点;有人在这方面有经验吗?

4

2 回答 2

0

您可以像这样配置 Capistrano 的部署用户:

set :user, "deploy_username"

您也可以使用 设置密码set :password, "secret_password",但最好手动输入密码,或者为您设置 SSH 密钥。这将避免密码以明文形式存储。

Sprinkle 在ssh块下有类似的设置:

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

但同样的问题也适用于此 - 您可能应该为此手动提供密码。

于 2013-02-06T21:46:55.817 回答
0

我建议使用 ElasticBox 在任何云中配置您的 Rails 服务器。

您只需要为此目的创建一个自定义框或使用 Rails 框来自动化它。

框抽象为您提供了向文件(如 deploy.rb)添加任何自定义步骤的灵活性,您还可以在部署时添加用于对服务器执行任何 ssh 配置的脚本。

这是一篇很好的博客文章,解释了如何使用 ElasticBox 部署多服务器 Rails 应用程序: https ://elasticbox.com/blog/deploy-multi-server-rails-app/

于 2015-05-27T15:57:58.727 回答