Я хотел бы ещё раз подчеркнуть, что я не использовал графический интерфейс обновлений. У меня установка с несколькими контейнерами. Я выполнил:
git pull
./launcher bootstrap app
./launcher destroy app && ./launcher start app
./launcher cleanup
(Я использую app для веб-приложения даже в установках с несколькими контейнерами. Знаю, что это не стандартная практика. Я ненавижу вводить web_only)
Некоторое время после запуска bootstrap и до уничтожения приложения старая версия, работающая с новой базой данных, показывала только экран ошибки. Я не помню содержания, и я не стал создавать дополнительную простои, останавливаясь, чтобы сделать скриншот перед выполнением destroy/start, но это был просто текст на белом фоне, и это не была страница системного обслуживания. Я видел это лишь несколько раз раньше: когда bootstrap запускает db:migrate как часть асинхронной «перестройки без простоя», старое программное обеспечение, всё ещё работающее, падает из-за несоответствия схемы.
То, что я увидел, — это то, что происходит в случае несоответствия базы данных. Это намного лучше, чем бездумно продолжать работу и сломать базу данных! Я опубликовал это сообщение, чтобы предупредить, что это один из тех редких случаев, когда применение точечного обновления (здесь с 3.1.0.beta1 до 3.1.0.beta2) создаёт несовместимость схемы между кодом 3.1.0.beta1 и базой данных после выполнения db:migrate версии 3.1.0.beta2, что случается редко, но иногда происходит при обычных обновлениях с минимальным простоем в развёртывании с несколькими контейнерами.
Мой опыт отличается от ошибки, о которой сообщалось в отношении Ruby в графическом интерфейсе обновлений. Это совершенно другая проблема. Я понимаю, что мой пост был перемещён из объявления в общую тему «проблемы с», но я хочу чётко заявить, что причина, по которой я опубликовал его в объявлении, заключалась в том, чтобы предупредить других администраторов, осуществляющих самостоятельное размещение, как я, когда они увидят объявление, что это конкретное обновление могло иметь такое воздействие.
Моё сообщение не было жалобой на ошибку или даже проблему. Оно было намеренно опубликовано только как уведомление о нормальной, но редкой ситуации, связанной с этим конкретным выпуском и не указанной в примечаниях к выпуску.
Жалобы на то, что Docker Manager не распознаёт невозможность обновления изнутри образа, совершенно не связаны с моей попыткой предоставить полезное уведомление другим администраторам, осуществляющим самостоятельное размещение.
Было бы очень логично разделить эти несвязанные проблемы на независимые темы для независимых проблем. РЕДАКТИРОВАНО пользователем @supermathie: Готово