Вопрос больше теоретический чем о каких-то конкретных инструментах.
Все хотят обновляться с нулевым временем простоя. В простейшем случае мы можем выложить новую версию в новую папку, переключить симлинк и рестартовать веб-сервер. Но может помешать миграция базы, точнее "деструктивная" миграция базы, когда старая и новая версия системы не могут работать с одной структурой. Если мы попытаемся подготовить новую структуру пока реальный сайт продолжает работать, мы потеряем последние изменения. То есть останавливать сайт полюбому придётся.
Итого два вопроса:
- пытаетесь ли вы как-то обозначать и по разному обрабатывать релизы требующие остановки и не требующие? а может у вас не бывает несовместимых миграций? или вы делаете паузу в любом случае?
- когда происходит пауза, ставите ли вы статус 503 Service Unavailable? если да, то как?