Что лучшие практики должны продвинуть обновления сайта от dev/stage/testing среды до производства?

У меня была эта проблема, и оказалось, что один проект указывал на SQLExpress, но тот, у кого проблема, указывал на LocalDb. (в их соответствующем web.config). Глупый надзор, но стоит отметить здесь, в случае, если кто-либо другой устранит эту проблему.

8
задан JJJ 20 July 2012 в 07:17
поделиться

7 ответов

Я использую .htaccess для создания мига "режима техобслуживания", где только мой IP видит основной сайт при обновлении. Все другие добираются для просмотра короткого сообщения, таким образом, они знают, что все должно назад быть онлайн в нескольких галочках.

Затем я:

  1. Сделайте любые редактирования DB
  2. SVN экспортируют/загружают файлы
  3. Выполните автоматизированное тестирование и дайте как можно больше беглый взгляд, чтобы удостовериться, что ужасно неправильно нет ничего
  4. Вернитесь .htaccess

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

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

2
ответ дан 6 December 2019 в 00:09
поделиться

До выставления файлов ко всем веб-серверам я нахожу, что старый добрый robocopy добивается цели. Мои dev/stage/prod среды все идентичны, конечно. Просто поднимите временную страницу, которая говорит пользователям, что сайт скоро вернется.

0
ответ дан 6 December 2019 в 00:09
поделиться

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

1
ответ дан 6 December 2019 в 00:09
поделиться

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

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

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

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

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

1
ответ дан 6 December 2019 в 00:09
поделиться

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

Эти URL являются ссылками на статические файлы HTML, объясняющие пользователю, что продолжается.

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

0
ответ дан 6 December 2019 в 00:09
поделиться

Прямо сейчас мы используем ряд сценариев оболочки с конфигурационными файлами, какой tar наши измененные файлы, scp их к каждому серверу в кластере, и затем untar их, после того как они там. Этот метод имеет свои недостатки, конечно, и мы рассматриваем метод, где каждому участнику сервера установили svn клиент и, и после того как мы отмечаем новый выпуск, мы переключаем рабочую копию на рабочих серверах к тому новому тегу. Конечно, мы делаем выпуски в течение нашего часа обслуживания в наше время, таким образом, мы не должны делать ничего специального для наших пользователей (они видят страницу обслуживания так или иначе).

0
ответ дан 6 December 2019 в 00:09
поделиться

апачский муравей с задачами для svn и ftp платит по счету для меня. Существуют даже люди, которые делают материал дб с МУРАВЬЕМ, но я склонен хотеть наблюдать за ними лично. После того как Вы имеете чистую сборку и требуете у сборки ftp ко всем Вашим местоположениям, Вы будете поражены тем, насколько легкий это.

0
ответ дан 6 December 2019 в 00:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: