Для тех, кто не знаком с термином «постановка», он заключается в частном развертывании вашего кода на производственном сервере (или клоне вашего сервера), чтобы вы могли быть уверены, что ничего не сломается, когда вы начнете работать.
Я обычно размещаю свой код в домене staging.example.com где example.com это мой производственный домен.
Проблема, с которой я часто сталкиваюсь, заключается в том, что часть логики приложения зависит от имени домена, особенно если имя домена где-то жестко закодировано.
Как вы справляетесь с этой ситуацией, предполагая, что промежуточная и производственная среды находятся на одном сервере?
Я разрабатываю все приложения для извлечения информации из базы данных. Вся моя работа на java. Расширьте класс java.util.Properties, чтобы все было извлечено из базы данных, а не из файла. Единственное, что отличается от сервера к серверу, - это запись JNDI для источника данных. Вся ваша логика того, что делать, инкапсулирована в класс, расширяющий класс java.util.Properties.
Это упрощает переход от DEV -> UAT -> STAGING -> PROD. У нас нет изменений кода, НИКАКОГО удаления DNS, абсолютно никакого восстановления файлов WAR при переходе из UAT -> STAGING -> PROD.
Мы имеем дело с разработчиками, которые не все работают в одной среде, удаление DNS / вирусная IPS может стать трудным для отладки.
Это также упрощает жизнь, когда вы начинаете масштабироваться, когда у вас есть среда с балансировкой нагрузки / кластеризацией. Попытка иметь дело с DNS / Virtual IPS в вашем приложении в этот момент при масштабировании очень сложно и добавляет больше движущихся частей, которые могут сломаться.
Вы можете добавить псевдоним IP (или использовать другой сетевой адаптер) и привязать IIS или Apache для виртуального хоста / сервера промежуточного сервера к этому конкретному IP-адресу; затем вы можете создать запись файла HOSTS для domain.com, чтобы разрешить этот новый псевдоним (или вторичный) IP-адрес на вашем тестовом компьютере (или, если вам нужен доступ в масштабе всей локальной сети к промежуточному размещению через domain.com, вы должны создать A запись на DNS-сервере вашей локальной сети).
Конечно, вы не сможете подключиться к фактическому живому серверу, потому что ваша новая запись A или запись в файле HOSTS будет разрешать неправильный IP-адрес, пока не будет закомментирован или удален.
Я всегда настраиваю промежуточный сервер для ответа на реальном домене, а затем меняю файл моих локальных хостов, чтобы указать реальное доменное имя на IP-адрес промежуточного сервера. Конечно, это работает только в том случае, если у вас есть отдельные серверы, что вам и нужно!
Для Windows есть несколько утилит для изменения файла hosts на лету, на Mac я использую Gas Mask. В Windows вам может потребоваться сбросить DNS (ipconfig / flushdns) на Mac. Противогаз изменяет его, как только вы нажимаете «Применить».
Вы можете настроить DNS-сервер с представлениями. Во внутреннем представлении верните IP-адреса вашей промежуточной среды. Во избежание конфликта настройте только тестовые клиенты на использование этих DNS-серверов.