如何在 Capistrano 中切换远程用户
Posted
技术标签:
【中文标题】如何在 Capistrano 中切换远程用户【英文标题】:How to switch remote user in Capistrano 【发布时间】:2012-03-15 14:10:56 【问题描述】:在 capistrano 中,我可以设置 :user
变量来确定在执行远程命令时哪个用户登录到 ssh。但我想根据任务以不同用户的身份执行命令。是否可以?像run "command", :as => "bob"
这样的东西会很好。
【问题讨论】:
【参考方案1】:文档:https://github.com/capistrano/capistrano/wiki/2.x-DSL-Action-Invocation-Run
您可以使用:shell
和&block
的组合:
run "echo am i bob ? :$USER:", :shell => "su - bob -s bash" do |channel, stream, data|
channel.send_data("#bob_password\n")
end
【讨论】:
以上是关于如何在 Capistrano 中切换远程用户的主要内容,如果未能解决你的问题,请参考以下文章
使用 Rails 为 capistrano 3.8.0 运行“cap production deploy”时不知道如何构建任务“start”
Capistrano:我可以为整个 cap 会话设置一个环境变量吗?