Разработка и развертывание приложения Rails с одного компьютера - PullRequest
1 голос
/ 07 января 2012

Я начал разработку нового приложения Rails на моем сервере с использованием RVM, Rails 3 и Ruby v1.9.2.Я использую Git в качестве своего хранилища кода.Это простое приложение, и я не хочу использовать дополнительный сервер.Я просто хочу развернуть свое приложение непосредственно с того же сервера, на котором я разрабатываю.

Я установил Phusion Passenger с Apache для обслуживания своего приложения, но понял, что не могу этого сделать, указывая на мойкаталог разработки, так как мой RAILS_ENV установлен на "развитие".(Я обнаружил, что у меня возникли ошибки с правами доступа к файлу в конвейере ресурсов и другие проблемы, когда я попытался установить RAILS_ENV в «производство» и обслуживать приложение)

Какой самый простой / простой способ развертывания приложения?Могу ли я просто: 1) создать отдельного пользователя для запуска производства rails (Rails в dev в настоящее время работает под моим именем на моем сервере Ubuntu) 2) клонировать мое хранилище в отдельную директорию и настроить Apache соответствующим образом 3) заполнить базу данных данными, необходимыми дляпроизводство (здесь не требуется много данных) 4) Что еще?

Я кратко посмотрел на Capistrano, но это простое приложение кажется излишним.Мне нужно только обеспечить простой веб-интерфейс для ввода данных.Похоже, git push должно быть достаточно, но я раньше этого не делал, так что, возможно, я ошибаюсь?Кроме того, если я нажму push, как я могу убедиться, что права доступа к файлам в «производственных» каталогах установлены правильно, особенно для любых новых файлов, которые создаются в исходной структуре каталога приложения?

Спасибо за любые идеи.

1 Ответ

2 голосов
/ 07 января 2012

Нет - вам не нужно Capistrano для вышеперечисленного; на данном этапе я чувствую, что это только поможет вам еще больше сбить вас с толку.

Я бы посоветовал вам сначала сохранить репо в личном Github или бесплатном аккаунте BitBucket. Что вам нужно сделать, так это сохранить одну папку для «разработки».

Помните, что Passenger - это просто модуль, работающий с Apache. Итак, вам нужно настроить виртуальный хост под apache и направить его в другую папку в вашей системе. Для этого примера рассмотрим:

~/rails/myapp_development/ и ~/rails/myapp_production/

Пассажир всегда запускает приложение в рабочем состоянии, поэтому проблем не должно быть. Вы можете сделать bundle --without=production в настройках разработки, чтобы игнорировать любые драгоценные камни, перечисленные в Gemfile в производственном пространстве имен, то есть, скажем, у вас есть указанный адаптер mysql, вы можете игнорировать это, и Rails полагается только на SQlite драгоценный камень.

Теперь вы можете просто разрабатывать в папке для разработки, фиксировать, передавать в BitBucket. Развертывание будет простым переходом в рабочую папку и выполнением git pull и touch tmp/restart.txt.

.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...