1

Я новичок в Capistrano, а также в Windows Azure, и у меня возникли проблемы с развертыванием моего приложения Ruby on Rails на моей Azure Virtual Machine. Я могу войти в систему и подключиться к виртуальной машине с помощью SSH. Кроме того, я успешно создал новое приложение Rails при подключении к виртуальной машине (смог получить к нему доступ через DNS VM). Тем не менее, я понятия не имею, как захватить код Rails с сервера VM, чтобы я мог его локально редактировать, а затем вносить изменения обратно на сервер.Ошибка таймаута при развертывании приложения Ruby on Rails с Capistrano для Windows Azure VM

В любом случае, я создал простое приложение Rails локально и хочу развернуть его (используя Capistrano) на моей Azure VM. Я получаю следующее сообщение об ошибке при запуске cap deploycap deploy:setup):

connection failed for: fb-shanghai.cloudapp.net (Errno::ETIMEDOUT: Operation timed out - connect(2)) 

Я продолжаю играть с файлом deploy.rb конфигурации, но получаю ту же ошибку. Кроме того, когда я изменил роль :web из VM DNS «fb-shanghai.cloudapp.net» в общедоступный VIP и запустил cap deploy, я получил приглашение ввести пароль, но независимо от того, что я ввел, он потерпел неудачу.

На данный момент я действительно потерял то, что мне нужно сделать, чтобы запустить мое приложение RoR на моей Azure VM. Будем очень благодарны любой помощи!

Моя среда:

  • Mac OS X 10.7.5
  • Рубин 1.9.3
  • Rails 3.2.9
  • Использование рубин-Stack-1-9-3-6-Ubuntu -12-10 изображения для моей VM

ответ

1

Оказывается, мне нужно указать VIP для строки конфигурации сервера:

Так server "xxx.xx.xxx.xxx", :web, :app, :db, primary: true

Вместо server "name_of_app.cloudapp.net", :web, :app, :db, primary: true

Затем мне нужно добавить require "bundler/capistrano" в верхней части файла deploy.rb.

Наконец, я выполнил некоторые инструкции от Capistrano wiki, а также Ruby on Rails on Windows Azure tutorial.

+0

Я тоже заменил 'name_of_app.cloudapp.net' с IP-адресом' xxx.xx.xxx.xxx' и начал работать. –

2

У меня была такая же проблема, но моя все еще не работала с IP вместо name_of_app.cloudapp.net. Мне потребовалось некоторое время, чтобы понять, но по какой-то причине Azure создала общедоступный порт по умолчанию для случайного номера порта (не 22), когда я создал виртуальную машину, поэтому я отредактировал ее до 22, и она сработала.

Следует также упомянуть, что я использовал битбак Bitnami из хранилища VM для установки моей виртуальной машины.

Что касается файла deploy.rb, я использовал этот файл gist из учебника, опубликованного выше.

+1

, если при развертывании образа VM Depot из командной строки вы можете определить порт SSH с помощью переключателя -ssh, например. "-ssh 22" – rgardler

+0

Какую версию capistrano вы используете? У меня возникают проблемы с 3.x, я получаю где-то с 2.6.0, но получаю ошибки -sh еще ... – Amaan

Смежные вопросы