新手问题 关于 capistrano 的 role 和 server

wcc526 · 2014年06月15日 · 最后由 wcc526 回复于 2014年06月16日 · 2868 次阅读

https://github.com/capistrano/capistrano/wiki/2.x-DSL-Configuration-Roles-Role

关于 capistrano 的 production.rb 的配置的话,我有点不太理解那个 role 和 server

role :app, %w{example.com} role :web, %w{example.com} role :db, %w{example.com}

server 'example.com', roles: %w{web app}, my_property: :my_value

通常的命名格式是什么样的? 文档给出的例子是

role :wiki, "wiki.social.com" role :admin, "[email protected]", "db.social.com:1234"

为什么单纯的域名也行? 我以为应该是 [email protected],这种用户名加 ip,这个 role 是用来 ssh 登录还是单纯作为区分,可以随便命名?

role 是一组主机,小网站的可能只有一台主机,web/app/db 都是一台。cap 为了扩展性预设了三组,rails 相关的 task 对此做了适配,比如 db:migrate 只对 db role 的主机执行,所以即使只有一台也要设置这三个 role。

域名的对应的是主机。

#1 楼 @Rei role :wiki, "wiki.social.com" 如果这种只有域名的话,没有用户名怎么登录?

#3 楼 @Rei 我理解的是给用户名就覆盖原来的 user,如果没有就按默认的 user

#4 楼 @wcc526

  1. 当前用户
  2. .ssh/config 里的设置
  3. cap 里面 set :ssh_options
  4. 写 role 的时候写在 主机 url 里的 username

#5 楼 @Rei 好的,谢谢!

需要 登录 后方可回复, 如果你还没有账号请 注册新账号