1.4 Развертывание
Даже на этой ранней стадии, мы уже собираемся развернуть наше (все еще пустое) приложение Rails в production (# -окружение используемое когда вы разворачиваете ваше приложение для всеобщего использования). Этот шаг не является обязательным, но раннее и частое развертывание позволяет нам ловить любые проблемы развертывания в начале нашего цикла разработки. Альтернативный вариант - развертывание только после напряженных усилий изолированных в окружении разработки (development environment) - часто приводит к ужасным головным болям при интегрировании, когда приходит время запуска 25
Развертывание приложений Rails ранее использовалось для причинения боли, но экосистема развертывания Rails, стремительно развивалась в течение нескольких последних лет, и теперь имеет различные замечательные опции. Они включают общедоступные хосты или виртуальные частные серверы, выполняющие Phusion Passenger (модуль для веб-серверов Apache и Nginx26), компании предоставляющие полный комплекс услуг развертывания, такие как Engine Yard и Rails Machine, и облачные сервисы развертывания, такие как Engine Yard Cloud и Heroku.
Моя любимая опция развертывания Rails это Heroku, который является хостинговой платформой (hosted platform ), созданной специально для того, чтобы разворачивать Rails и другие Ruby веб-приложения27 Heroku делает развертывание Rails приложений, смехотворно легким - пока Ваш исходный код является объектом управления версиями с Git. (Это - еще одна причина выполнить шаги установки Git из Раздела 1.3 если Вы этого еще не сделали.) Остальная часть этого раздела посвящена развертыванию нашего первого приложения в Heroku.
1.4.1 Установка Heroku
После создания учетной записи Heroku, установите гем Heroku:
$ [sudo] gem install heroku
Как и с GitHub (Раздел 1.3.4), при использовании Heroku Вы должны будете создать ключи SSH, если у Вас их еще нет, а затем сообщить Heroku свой открытый ключ так, чтобы можно было использовать Git, для отправки репозитария примера приложения на их серверы:
$ heroku keys:add
Наконец, используйте heroku
команду, чтобы создать место на серверах Heroku для примера приложения, (Листинг 1.7).
$ heroku create Created http://severe-fire-61.heroku.com/ | [email protected]:severe-fire-61.git Git remote heroku added
Да, вот и все.heroku
команда создает новый субдомен только для нашего приложения, доступный для немедленного просмотра. Там еще ничего нет, так что давайте займемся развертыванием.