четверг, 24 мая 2012 г.

Использование mercurial при разработке на RoR

При разработке на Ruby принято использовать git. И мне, как поклоннику mercurial пришлось слегка модифицировать под себя путь от создания приложения на Ruby on Rails до его развертывания.

Шаг 1. Создание нового проекта

Для начала создал свой .hgignore файл на основе дефолтного .gitignore для RoR проекта. Затем написал простенький скрипт для создания нового проекта:
rails new $@ --skip-git --skip-test-unit || exit 1
cp .hgignore $1 || exit 1
rvm gemset create $1 || exit 
echo "rvm gemset use $1" > $1/.rvmrc || exit 1

Шаг 2. Разработка нового приложения

Здесь никаких сложностей не возникает - просто использую mercurial в свое удовольствие.

Шаг 3. Развертывание на heroku

Деплоить RoR проект на heroku очень просто, если вы используете git. Для mercurial есть неофициальное расширение hg-git. Правда версия 0.3.2 не работает, т.к. в конец добавляется слэш, чего heroku никак не ожидает и push аварийно завершается. Пришлось взять последнюю версию из репозитория.

Еще одна тонкость: необходимо выполнять команды heroku с ключом --app, чтобы указать, для какого приложения вы хотите посмотреть логи etc.

В итоге deployment я выполняю следующим скриптом:
hg push git+ssh://git@heroku.com:$1.git
heroku run rake db:migrate --app $1

Комментариев нет:

Отправить комментарий