Лучшая практика для развертывания релиза на производстве

У нас есть производственный сайт с более чем 350 запущенными экземплярами, поэтому отключение сайта даже на короткое время является большой проблемой.
Мой вопрос:
После отправки нашего кода в производство, если есть какие-либо обновления на композиторе, мы должны обновить его, в течение этого периода сайт будет закрыт. Так что же является наилучшей практикой для обновления композитора на рабочем месте без остановки сайта во время обновления?

2

Решение

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

  • Создайте новый каталог для каждого выпуска и загрузите в него файлы.
  • Установите ваши зависимости.
  • Запустите ваши тесты.
  • Создайте символическую ссылку в качестве корневого каталога веб-сервера, который указывает на новый каталог выпуска.

Таким образом, вам не нужно закрывать свой веб-сайт для копирования и загрузки файлов непосредственно в корневой каталог. Просто используйте символические ссылки. Также таким образом намного проще выполнить откат к любой старой версии.

2

Другие решения

Я настоятельно рекомендую вам использовать систему развертывания, такую ​​как Capistrano (https://github.com/capistrano/capistrano).

Например, Capistrano клонирует вашу ветку / коммит в отдельную папку, запускает скрипты, такие как Composer, и если все в порядке, то создает / перемещает символическую ссылку на эту папку.

Это прозрачно для вашего пользователя.

И если что-то пойдет не так, вы можете попросить Capistrano выполнить «откат», при этом символическая ссылка будет указывать на последнюю рабочую версию (папку).

3

Я использую Azure для размещения своих сайтов, и я заметил, что они делают следующее:

  1. Потяните код из git в промежуточную папку
  2. Установить зависимости композера в эту папку
  3. Скопируйте все содержимое этой папки в оперативную папку

При запуске программы composer в другой папке пакеты в реальном времени всегда доступны. Единственное время, когда может произойти простоя, — это когда вы копируете файлы в оперативный каталог, но это будет очень кратко.

0
По вопросам рекламы [email protected]