Какие мелочи мне нужно сделать перед развертыванием рельсового приложения

StackOverflow https://stackoverflow.com/questions/101066

Вопрос

РЕДАКТИРОВАТЬ

Какие мелочи, которые слишком легко упустить из виду, мне нужно сделать перед развертыванием приложения Rails?

я настроил Другой вопрос для любой задачи, которая занимает больше минуты или двух и поэтому должна быть запланирована в процессе развертывания.В этом вопросе меня больше всего интересуют параметры онлайн-конфигурации и тому подобное, которые можно сделать, но их часто не учитывают в ходе цикла разработки, поскольку они не имеют никакого значения до развертывания.

Это было полезно?

Решение

  • Заморозьте драгоценные камни, которые вы используете. rake gems:unpack
  • Изменить секрет в config/environment.rb
  • Фильтруйте конфиденциальную информацию, например пароли:в app/controllers/application.rb filter_parameter_logging :password, :password_confirmation

Другие советы

  • Убедитесь, что БД настроена на вашем рабочем сервере.
  • Настройте capistrano для правильного развертывания вашего приложения.
    • Проведите пробный прогон капистрано
  • Убедитесь, что Rails упакован в папку поставщика/rails.
  • Убедитесь, что все драгоценные камни заморожены в вашем приложении или установлены на вашем производственном сервере.
  • Запустите тесты на производственной машине
  • Включите фрагмент Google Analytics (или другую аналитику)

Настройте файлы и папки, которые будут использоваться совместно развернутыми копиями приложения, включая (но не ограничиваясь) просмотр кэшей, конфигурацию базы данных, страницу обслуживания...

На самом деле это не специфичные для Rails задачи развертывания, но я слишком много раз видел, как их упускали из виду для развернутых систем:

  • Резервные копии;по общему признанию, это может оказаться большой задачей, но это не обязательно.Зачастую достаточно просто запланировать ночное резервное копирование базы данных и программного обеспечения.
  • Тестирование процедуры восстановления
  • Ротация и архивирование журналов
  • Уведомление об исключении
  • Убедитесь, что в месте, где вы выполняете развертывание, правильно установлена ​​переменная RAILS_ENV.Либо через среду, либо через обратный вызов capistrano.
  • Убедитесь, что все ваши тесты проходят успешно, запустив rake spec, musta, модульные тесты или что-то еще, что вы используете для тестирования.
  • Распакуйте свои драгоценные камни с помощью rake gems: распакуйте
  • Решите, нужно ли вам заморозить Rails.грабли рельсы:freeze:gems
  • Дважды проверьте, установлены ли на сервере зависимости, если вам нужно больше, чем просто драгоценные камни (memcached, почтовый сервер и т. д.).
  • Если вы используете MySQL, скомпилируйте и установите на сервер библиотеку MySQL на основе C (это может занять больше времени, чем несколько минут, но обычно выполняется довольно быстро, если все зависимости удовлетворены).
  • Если вы используете git, отправьте свой код в ветку master.При необходимости отметьте его.
  • Если вы используете SVN, отметьте релиз.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top