Эту маленькую заметку я постаю, видимо, больше для себя. Сегодня у меня был первый опыт выгрузки приложения RoR на хостинг Locum с использованием связки Capistrano и git на Windows 7. Пришлось помучаться — первый блин чуть не встал комом.
Пожалуй для начала опишу чего я хотел получить.
Захотелось мне поиграться с Synergy (гем электронной коммерции для Rails 3.0.10). Заодно думал попробовать насколько удобно деплоить аппликейшен на локум. Следовал инструкциям — и вроде все шло пусть и не как по маслу, но для первого раза нормально.
Спасибо Aptana!
Надеюсь кому-то это будет полезно!
Пока о Locum впечатления хорошие — несмотря на малый мой опыт, проблем особых не возникло и в саппорт не обращался.
А на работу связки Cap и git не знаю стоит ли постать баг? Да и на кого из них пока не понятно. Уж точно не на CMD.exe — он уже давно наверное не саппортается.
Upd: Инструкция для установки Synergy обновлена. Молодцы!
Введение
Пожалуй для начала опишу чего я хотел получить.
Захотелось мне поиграться с Synergy (гем электронной коммерции для Rails 3.0.10). Заодно думал попробовать насколько удобно деплоить аппликейшен на локум. Следовал инструкциям — и вроде все шло пусть и не как по маслу, но для первого раза нормально.
Мои шаги
- Завел аккаунт на Locum
- Создал там проект для RoR на Ruby 1.9.3
- Установил Ruby 1.9.3 себе на локальную машину.
- Установил Git 1.7.8; поплакался на то, что по-прежнему в консоли гита на винде отвратно работает тектовый ввод «irb» (имею в виду перемещение курсора клавишами клавиатуры)
- Установил Aptana 3 — и, как оказалось в последствии, правильно сделал.
- Сначала по ошибке установил последние рельсы, вызвав дефолтную инсталяцию гема.
- Потом решил следовать все-таки инструкции установки Synergy и запустил установку рельс версии 3.0.9 (!), что оказалось напрасным.
- «bundle install» выполнить не смог — оказалось что добавленные по инструкции гемы зависят от версии рельс 3.0.10; поправил в Gemfile версию и поехал дальше.
- На шаге «rails g spree:site -f» инструкции Synergy получил ошибку по поводу «libmysql.dll»
- Скачал инсталлятор сервера MySql5 — напрасно по двум причинам: во-первых сервер не нужен, а нужен лишь «MySql connector»; во-вторых, как потом оказалось, нужна была шестая версия либы; тут, чесно говоря начал расстраиваться — думал на сервере в случае чего я либу не смогу обновить.
- Дальше по инструкции все прошло нормально; приложение запустилось.
- Сделал первый каммит; стал думать как деплоить. Locum рекомендует пользоваться Capistrano — не стал возражать.
- Поставил Cap; скрестил инструкцию настройки капа и сгенерированный хостером «deploy.rb»
- Создал через SSH (использовал vim, только потом узнал о менеджере файлов поверх SSH) на хостинге «database.yaml»:
development:
adapter: mysql2
database: *db_name*
username: *db_user*
encoding: utf8
production:
adapter: mysql2
database: *db_name*
username: *db_user*
password: 123... # Упс чуть не запалил хитрый пасс
host: mysql0.locum.ru
encoding: utf8
test:
adapter: mysql2
database: *db_name*
username: *db_user*
encoding: utf8
- Начал работать по инструкции для Cap; «cap deploy:setup» отработала нормально.
- И тут меня ждала неудача с «cap deploy»:
$ cap deploy
* executing `deploy'
* executing `deploy:update'
** transaction: start
* executing `deploy:update_code'
executing locally: "git ls-remote /e/Projects/RoR/testr/ HEAD"
command finished in 80ms
* getting (via checkout) revision 7041c492377617a09251281c1b9544a955892f70 to
C:/Users/.../Temp/20120128194958
executing locally: git clone -q /e/Projects/RoR/testr/ C:/Users/dev/
AppData/Local/Temp/20120128194958 && cd C:/Users/dev/AppData/Local/Temp/20120128
194958 && git checkout -q -b deploy 7041c492377617a09251281c1b9544a955892f70
Too many arguments. - Стал рыскать по сети и вот что нашел
- Тоже начал хачить злополучный «base.rb» — решил там сразу разбивать команду и выполнять подкоманды последовательно в цикле, чтоб хотя бы удостовериться что в этом проблема. Но увы «cap deploy» почему-то не реагировал на мои хаки. Вопрос для меня остался открытым, т.к. я забил на бодание со стеной и решил поискать иное решение — пусть не такое удобное как «cap deploy», но работающее на винде (в сети пишут, что на Линукс такая беда не наблюдается).
- В конечном итоге я открыл мастера деплоя в Aptana, выбрал там деплой через sFTP и пока приложение выгружалось решил изложить свои приключения в блоге.
Заключение
Спасибо Aptana!
Надеюсь кому-то это будет полезно!
Пока о Locum впечатления хорошие — несмотря на малый мой опыт, проблем особых не возникло и в саппорт не обращался.
А на работу связки Cap и git не знаю стоит ли постать баг? Да и на кого из них пока не понятно. Уж точно не на CMD.exe — он уже давно наверное не саппортается.
Upd: Инструкция для установки Synergy обновлена. Молодцы!