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

ИЗМЕНИТЬ

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

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


person Laurie Young    schedule 19.09.2008    source источник
comment
хороший вопрос! Теперь я бы порекомендовал, если вы частично ответите на вопрос с несколькими вариантами ответов, позволить другим людям повторить ваши ответы (я собирался добавить несколько баллов, но меня проголосовали за повтор)   -  person Purfideas    schedule 19.09.2008
comment
Ладно, извините, наверное, я педантичен   -  person Laurie Young    schedule 19.09.2008


Ответы (8)


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

  • Убедитесь, что БД настроена на вашем рабочем сервере
  • Set up capistrano to deploy your app properly
    • Run a capistrano dry-run
  • Убедитесь, что Rails упакован в вашу папку vendor/rails
  • Убедитесь, что все драгоценные камни заморожены в вашем приложении или установлены на вашем рабочем сервере.
  • Запустите свои тесты на производственной машине
person Subimage    schedule 19.09.2008

  • Включите фрагмент аналитики Google (или другую аналитику)
person mloughran    schedule 19.09.2008

  • Проверьте журнал медленных запросов и добавьте любые индексы к вашим моделям, которые вызывают обходы всей таблицы.

  • Также

    grep -ril FIXME

person Purfideas    schedule 19.09.2008
comment
еще лучше для также: rake notes:fixme - person Ben Scofield; 19.09.2008

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

person Ben Scofield    schedule 19.09.2008

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

  • Резервные копии; по общему признанию, это может оказаться большой задачей, но это не обязательно. Часто бывает достаточно просто запланировать ночное резервное копирование базы данных и программного обеспечения.
  • Тестирование процедуры восстановления
  • Ротация и архивирование журналов
  • Уведомление об исключении
person sock    schedule 19.09.2008

  • Убедитесь, что в месте развертывания правильно установлена ​​переменная RAILS_ENV. Либо через среду, либо через обратный вызов capistrano.
  • Убедитесь, что все ваши тесты проходят, запустив rake spec, shoulda, модульные тесты или что-то еще, что вы используете для тестирования.
  • Распакуйте свои драгоценные камни, используя rake gems:распаковать
  • Решите, нужно ли вам заморозить Rails. грабли рельсы: заморозка: драгоценные камни
  • Дважды проверьте, что на сервере установлены зависимости, если вам нужно больше, чем просто драгоценные камни (memcached, почтовый сервер и т. д.)
  • Если вы используете MySQL, скомпилируйте и установите библиотеку MySQL на основе C на сервер (это может занять больше нескольких минут, но обычно это происходит довольно быстро, если все зависимости удовлетворены).
  • Если вы используете git, отправьте свой код в ветку master. Отметьте его, если необходимо.
  • Если вы используете SVN, пометьте релиз.
person Pete    schedule 19.09.2008