1

我有一个 Ruby on Rails 3 应用程序,我想通过 SSH 访问控制远程机器。

基本上,我希望 Rails 应用程序能够通过 SSH 在远程计算机上编辑文件、复制文件、移动目录等。

我已经为我想要执行的功能创建了 Capistrano 任务,但我想知道:

  1. 从 Rails 运行远程 shell 代码的最佳实践是什么
  2. 如何从 Rails 应用程序调用 Capistrano 任务(基本上可以实现 1)

谢谢!

4

1 回答 1

1

对于#1,ruby 有一个 net-ssh 库——http: //net-ssh.rubyforge.org/——它包含了你想要的功能。

对于#2,这个问题的公认答案包含从 Rails 内部运行 Capistrano 任务的信息——有没有更好的方法从 rake 中运行 Capistrano 任务?

虽然文中说的是 rake,但它也普遍适用于 ruby​​。但是,应该注意的是,根据您的主机配置方式,您可能会遇到 Capistrano 创建子shell 以执行脚本的方式的问题,因此您可能需要尝试一下或发布后续问题

于 2012-07-24T18:50:40.660 回答