Итак, подобного материала я нигде не видел, так что считаю необходимым опубликовать данную информацию.
ах да, ваше RACK|RAILS|MERB приложение, по умолчанию работает в режиме production
приложение работает здесь it-karma.ru и www.it-karma.ru
#update картинки перезалиты на photobucket.com, исправлены мелкие ошибки.
![image](https://habrastorage.org/getpro/habr/post_images/de0/c94/56a/de0c9456a8881f237c22142fb9b26f47.gif)
- Регистрируемся на Heroku.com письмо с линком приходит быстро, мне пришло уже через 30 секунд.
- Далее необходимо установить git, я работал в ОС windows (как устанавливать в linux я думаю знают те, кто его используют), вот версия для win, если использовать портативную версию, то необходимо в интерфейсе командной строки, перейти в директорию (куда распаковали) git, и запустить либо оболочку git-bash.bat (лично мне удобнее с ней работать), либо использовать команды только лишь cmd, git-cmd.bat.
- Далее, необходимо установить gem heroku командой (sudo) gem install heroku у него есть зависимости с другими гемами, вообще они сами установятся автоматически, ну а если нет, то вот ссылки для них: rest-client, launchy, json.
- Далее создаем приложение, я создал простейшее rack-приложение (rack автоматически устанавливается когда ставим гем heroku, ну а если нет то (sudo) gem install rack ), ну а вы естественно можете создать что вам угодно, помещаем в любую папку файлик config.ru со следующим содержанием:
run lambda { |env| [
  200,
  {"content-type" => "text/html"},
  "hello from russia, time is now #{ Time.now }"
  ] } - Переходим в папку с приложением, инициализируем командой git init, добавляем git add ., подписываем git commit -m 'new Rack app'.
- Создаем приложение на heroku командой heroku create любое-название-на-английском (если не установите последний параметр, то он назовет приложение от балды, типа blooming-cloud-48), он попросит ввести email и пароль, и потом сгенерирует RSA ключики. git remote автоматически добавит!
- Заливаем наше приложение на heroku командой git push heroku master.
- Heroku Поддерживает пользовательские домены, DNS в формате CNAME, это условие их архитектуры. Мной был приобретен домен тут, за 85 р. в зоне .ru, пополнял баланс через yandex money, но сразу они не пришли — пришлось написать в поддержку, после этого деньги зачислили. Здесь поддерживается управление DNS записями типа CNAME, если же у вашей панели управления доменом не поддерживается эта функция, то можете посмотреть, как решается эта проблема посредством бесплатных DNS-сервисов.
- Покупаем домен (если же у вас нет), там все элементарно.
- Выбираем пункт «использовать сервера регистратора», жмем изменить, и теперь доступно управление зоной
- Ну тут, думаю, тоже все интуитивно понятно, в первой строчке стоит @ для того, чтобы мы могли зайти на домен без префикса www, а во второй строчке с ним.
- Проверяем, работает ли DNS и наш домен командой host www.example.com, ответ должен быть примерно такого содержания (я воспользовался SSH доступом к своему приложению, и проверил оттуда)
если же пишет что-то типа «not found», проверьте настройки DNS, попросите пусть кто-нибудь еще проверит, или создайте соединение GRPS и проверьте через него. - Перейдите в папку с вашим приложением на локальном компе, командой heroku domains:add www.somedomainname.com, привяжите домен к вашему приложению, результат примерно такой
- Переходим по адресу домена и все сразу должно заработать (у меня заработало мгновенно).
ах да, ваше RACK|RAILS|MERB приложение, по умолчанию работает в режиме production
приложение работает здесь it-karma.ru и www.it-karma.ru
#update картинки перезалиты на photobucket.com, исправлены мелкие ошибки.