Были времена на Хабре, когда каждый уважающий (и не очень) себя рельсовик зачем-то выкладывал свои рецепты настройки боевого сервера и деплоя приложения на Ruby on Rails. Таких статей было 60% от всех статей в хабе Rails, и отголоски того времени до сих пор всплывают: так, например, за август я нашёл две статьи про деплой рельс.
Надоело.
$ gem install from-scratch $ scratchify your_app_name your.host.com
Что это за магия, читайте под катом.
Больше всего на свете программисты любят решать задачи. Меньше всего на свете программисты любят решать задачи, которые до них решали уже тысячу раз. Я сам лично не один десяток раз вручную поднимал среду на очередной VPS для очередного проекта. В компаниях побогаче для этого есть DevOps’ы. Ну а когда их нет, то рано или поздно программист начинает осваивать автоматизацию сам. И либо пишет простенький bash-скрипт, либо разбирается с Chef.
Собственно, магия вот в чём: команда генерирует типовой конфиг для Chef под указанный хост и имя проекта и запускает Chef Solo (режим, не требующий запуска сервера конфигурации). Только делает это всё так, чтобы вам не нужно было ничего понимать в Chef. Вот, что предусмотрено в данной конфигурации:
- Установить все нужные пакеты
- Создать «бесправного» пользователя
- Установить в него RVM вместе с последним MRI
- Установить PostgreSQL, запустить pgtune
- Создать схему в PG, создать под неё пользователя
- Сгенерировать database.yml и secrets.yml
- Установить nginx
- Загрузить типовой конфиг для nginx с upstream под любой rack-based сервер приложения через unix-сокет
И не задавать никаких лишних вопросов.
Всё, что вам останется — это настроить Capistrano:
# config/deploy/production.rb server 'your.host.com', user: 'deploy', roles: %w(app db web) set :deploy_to, "/home/deploy/your_app_name"
ссылка на оригинал статьи http://habrahabr.ru/post/269721/
Добавить комментарий