Версионирование Discourse с автоскейлингом

Я знаю, что в качестве значения по умолчанию или рекомендации для версионирования Discourse используется tests-passed, однако наша команда до сих пор указывала версию Discourse в файле app.yml, например: version: 2.7.0.beta1. Мы делаем это, чтобы иметь возможность явно контролировать, какая версия развернута в продакшене.

Однако, как мы увидели из этой темы, существует ошибка, которая мешает нам делать это привычным способом. Это проблема из-за того, как мы осуществляем автоскейлинг нашего форума. Например, предположим, что в продакшене сейчас работает версия 2.7.0.beta1. Но затем на форуме возникает всплеск трафика, и нам нужно запустить ещё один экземпляр для масштабирования. Если в app.yml указано tests-passed и с момента нашего последнего обновления в продакшене вышел новый релиз Discourse, будет запущен новый экземпляр (2.7.0.beta2), который будет конфликтовать с существующим. В результате у нас окажутся две разные версии, возможно, с изменениями в базе данных и другими проблемами совместимости, что приведёт к некорректной работе продакшена.

Также есть и другие причины, по которым нам может не подходить такое автоматическое обновление, например, проблемы совместимости плагинов и общее желание полностью протестировать всё на стенде перед выпуском в продакшен.

В качестве примечания: мы пытались реализовать это решение, чтобы иметь возможность указывать версию Discourse, но сейчас оно не работает с версией 2.7.0.beta3. Мы получаем ошибку bundler, похожую на ту, что описана здесь, и я знаю, что решение того человека заключалось в возвращении к использованию tests-passed.

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

Если вы хотите использовать автоскейлинг, вы должны загрузить образ с настройками в реестр контейнеров и использовать его для запуска Discourse на всех инстансах автоскейлинга.