2008-09-19 12 views
6

EDITЧто мало вещей мне нужно сделать, прежде чем развертывать приложения рельсов

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

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

+0

приятный вопрос! Теперь я бы порекомендовал, если вы частично ответите на свой вопрос с множественным выбором, пусть другие люди повторят ваши ответы (я собирался добавить несколько баллов, но получил проголосовать за повторение) – Purfideas 2008-09-19 11:31:51

+0

Хорошо, наверное, меня педантично – 2008-09-19 11:46:49

ответ

5
  • Замораживание драгоценные камни, которые вы используете rake gems:unpack
  • Измените секретный в config/environment.rb
  • Фильтр чувствительной informtion как пароли: в app/controllers/application.rb filter_parameter_logging :password, :password_confirmation
4
  • Обеспечьте, чтобы БД установки на производственном сервере
  • Настройка Capistrano для развертывания приложения правильно
    • Выполнить Capistrano всухую
  • Убедитесь Rails упаковано в поставщика/рельсы папку
  • Убедитесь, что все драгоценные камни заморожены в вашем приложении или установлены на вашем прод сервере
  • Выполните тесты на производственной машине
1
  • Проверьте slow query log, и добавить все индексы к моделям, которые вызывают полным траверсы.

  • Также

    Grep -ril FIXME

2
  • Включите Google Analytics фрагмент (или другие аналитики)
1

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

0

Это на самом деле не Rails конкретных развертывания-задач, но я видел, что они слишком часто игнорировались для развернутых систем:

  • Ba ckups; по общему признанию, это может стать большой задачей, но этого не должно быть. Достаточно просто планировать ночные резервные копии базы данных и программного обеспечения.
  • Тестирование Процедура восстановления
  • ротацию журнала и архивирование
  • уведомление Исключение
0
  • Убедитесь, что место развертывания в имеет переменную RAILS_ENV правильно установить. Либо через среду, либо через обратный вызов capistrano.
  • Удостоверьтесь, что все ваши тесты проходят путем использования спецификации rake, shoulda, модульных тестов или того, что вы используете для тестирования.
  • Распакуйте свои драгоценные камни, используя грабли: распаковать
  • Решите, нужно ли замораживать рельсы. rake rails: freeze: gems
  • Двойная проверка того, что зависимости установлены на сервере, если вам нужно больше, чем просто драгоценные камни (memcached, почтовый сервер и т. д.)
  • Если вы используете MySQL, скомпилируйте и установите C-based MySQL библиотеки на сервере (это может занять дольше нескольких минут, но, как правило, довольно быстро, если все зависимости удовлетворяются).
  • Если вы используете git, нажмите свой код на главную ветку. При необходимости пометьте его.
  • Если вы используете SVN, пометьте выпуск.