21

我想在我的项目目录之外设置一个 vagrant 实例。有没有办法像我在真正的生产主机上那样使用 capistrano 将 Rails 部署到 vagrant VM 中?

我正在尝试将服务器用作“本地主机”,但我得到:

connection failed for: localhost (Errno::ECONNREFUSED: Connection refused - connect(2))
4

2 回答 2

19

您还可以将 Vagrant 的 SSH 选项提供给 Capistrano(大部分:ssh_options直接转到 Net::SSH,http ://net-ssh.github.com/ssh/v1/chapter-2.html ,请参阅“选项”)所以那里没必要弄乱你的真实 ~/.ssh/config

set :user, 'vagrant'
set :ssh_options, {port: 2222, keys: ['~/.vagrant.d/insecure_private_key']}

role :web, "localhost" 
...

(当然,insecure_private_key除非防火墙适当,否则您不应该真正使用或默认 root/vagrant 密码,但原理保持不变。)

于 2013-02-16T13:12:27.670 回答
14

我想到了。如果其他人想知道:

  1. 我创建了一个单独的文件夹并在那里进行了整个 Vagrant 初始化。
  2. 我将 Vagrant 文件配置为使用桥接网络。
  3. 我登录了我的 vagrant VM ( $ vagrant ssh) 并跑去ifconfig获取我的 IP 地址。
  4. 我将该 IP 地址添加到我的 Capistrano 部署文件中。
  5. 我将 vagrants ssh 信息传递给我的本地配置:vagrant ssh-config >> ~/.ssh/config
  6. 我运行了部署,当提示输入 SSH 密码时,我使用了vagrant

有效。

于 2012-04-27T15:57:10.870 回答