[#] Самый простой deploy приложения на Ruby on Rails
habrabot(difrex,1) — All
2014-12-17 01:00:02






Полгода назад я написал пост [Deploy приложения на RoR 4 с помощью Capistrano 3][1]. Прошло время, я получил много положительных отзывов, но были и отрицательные. Из них можно было понять следующее:

* Инструкция слишком сложная для новичка
* Очень много всего приходится делать «руками»

Я подумал и написал **[gem 'capistrano3-ubuntu-server-config'][2]**, который полностью настраивает Ваш «чистый» Ubuntu сервер. Всё, что Вам нужно сделать руками — создать нового пользователя и дать ему права visudo (причем давать ему права на passwordless sudo ему **не надо**). Он может:

* Настроить SSH (Добавить настройки 'PermitRootLogin no', 'UseDNS no', 'AllowUsers username')
* Создать и настроить swap (размер запрашивается)
* Сделать
* Установить из исходников и настроить как чистый **Nginx**, так и с модулем Pagespeed
* Установить **PostgreSQL** из репозитория, затем создать суперпользователя БД (имя пользователя и пароль запрашиваются)
* Установить из исходников и настроить **Redis**
* Установить **RVM** с последней версией **Ruby** и gem'ами Rails, Bundler
* Скопировать Ваш приватный ssh ключ (например для доступа к приватному git репозиторию) с локальной машины на сервер и добавить его в ~/.ssh/config
* Установить **imagemagick** из репозитория (Необходим для Paperclip, постоянно его забываю ставить)
* Установить любые дополнительные пакеты из репозитория (Запрашивает какие именно)

Можно запустить конфигурационный wizard, который узнает, что именно из вышеперечисленного необходимо сделать и заранее спросит все настройки, чтобы можно было потом пойти попить кофе, а можно запустить отдельные таски. Данный gem будет полезен не только Rails разработчикам, а всем, кто использует Capistrano для деплоя. Эта статья раскроет следующие темы:

* Использование gem'a [capistrano3-ubuntu-server-config][3]
* Использование gem'а [capistrano3-git-push][4]
* Моя текущая миниатюрная конфигурация Capistrano

[Узнать как задеплоить Ваше приложение за 5 минут активного времени][5]

[1]: http://habrahabr.ru/post/213269/
[2]: https://github.com/goooseman/capistrano3-ubuntu-server-prepare
[3]: https://github.com/goooseman/capistrano3-ubuntu-server-prepare
[4]: https://github.com/goooseman/capistrano3-git-push
[5]: http://habrahabr.ru/post/246011/#habracut