Я помню, что при неудачной пересборке старый контейнер автоматически запустился.
Думаю, это происходит, если вы запускаете discourse-doctor.
Полагаю, вы имеете в виду docker manager.
У нас есть возможность принудительно обновить CLI через эти переменные. Однако сложность заключается в том, что вмешательство требовалось только в том случае, если у вас уже был установлен один из плагинов.
Возможно, для тех, кто размещает систему самостоятельно, опыт был бы лучше, если бы мы в таких случаях принудительно обновляли CLI у всех, независимо от ситуации.
Всё в итоге наладилось.
Сначала это немного сбило с толку, пока я не понял, что нужно зайти в командную строку, удалить плагины и запустить всё заново.
К счастью, в конце сообщения при первом повторном запуске через CLI было указано, что именно нужно удалить.
Ой. Точно.
Я считаю, что лучше, когда cdck действует с осторожностью и выполняет пересборку через командную строку, которая гарантированно сработает, даже если это может быть и не необходимо, чем предлагает более удобный апгрейд в один клик, который может привести к сбою вашего сайта и заставить вас разбираться, как выполнить пересборку через командную строку.
Это полное непонимание ситуации.
Это изменение разблокировало огромную скорость работы для команды. Изменения, которые раньше занимали у нас многие часы, теперь занимают минуты.
Возьмем, к примеру, добавление поддержки /filter для assign и solved. Я сделал это на прошлой неделе. Да, раньше это было возможно, но требовало координации между репозиториями, что было очень сложно реализовать. Теперь мы можем делать такие вещи легко, всего в одном коммите.
В результате качество и стабильность улучшений для основных плагинов растут, а также улучшается общая история расширяемости, так как мы меньше опасаемся совершенствовать её.
Мы принудительно выполняли пересборку CLI для каждой партии связанных плагинов:
-
bump image to discourse/base:2.0.20250710-0019 (#276) · discourse/docker_manager@5d90bc7 · GitHub
-
bump image to discourse/base:2.0.20250715-0020 (#277) · discourse/docker_manager@ec799c4 · GitHub
-
bump image to discourse/base:2.0.20250722-0020 (#280) · discourse/docker_manager@9ffff5e · GitHub
Я не видел никаких сообщений о неудачных пересборках через UI, поэтому считаю, что эта стратегия успешно направляла пользователей к пересборке через CLI. Эти пересборки CLI затем предоставляли сообщения-подсказки о необходимости удаления строк из app.yml.
Моя ошибка. Мне казалось, что я видел несколько таких случаев, но, наверное, вы следите за этим внимательнее, чем я!
Извините за это.
Я не уверен, как с этим справиться.
Обновление завершается ошибкой с множеством сообщений, подобных следующим:
СОВЕТ: Плагин ‘discourse-solved’ теперь включён в состав Discourse и не должен быть указан в конфигурации вашего контейнера.
Удалите строку ‘git clone https://github.com/discourse/discourse-solved’ из файла containers/web_only.yml, а затем повторите попытку.
Для получения дополнительной информации см. Bundling more popular plugins with Discourse core
Я отредактировал web_only.yml и закомментировал все указанные плагины, но это не помогло.
`cmd:`
`## - git clone ` https://github.com/discourse/docker_manager.git
`## - git clone ` https://github.com/discourse/discourse-templates
`## - git clone ` https://github.com/discourse/discourse-akismet.git
`## - git clone ` https://github.com/discourse/discourse-chat-integration.git
`## - git clone ` https://github.com/discourse/discourse-solved.git
`## - git clone ` https://github.com/discourse/discourse-cakeday.git
`## - git clone ` https://github.com/discourse/discourse-adplugin.git
`## - git clone ` https://github.com/discourse/discourse-patreon.git
`## - git clone ` https://github.com/discourse/discourse-linkedin-auth
`## - git clone ` https://github.com/discourse/discourse-data-explorer.git
`## - git clone ` https://github.com/discourse/discourse-assign.git
`## - git clone ` https://github.com/discourse/discourse-topic-voting.git
`## - git clone ` https://github.com/discourse/discourse-user-notes.git
`## - git clone ` https://github.com/discourse/discourse-math.git
`## - git clone ` https://github.com/discourse/discourse-oauth2-basic.git
`## - git clone ` https://github.com/discourse/discourse-calendar.git
`## - git clone ` https://github.com/discourse/discourse-affiliate.git
`## - git clone ` https://github.com/discourse/discourse-invite-tokens.git
`## - git clone ` https://github.com/discourse/discourse-github.git
Подсказка здесь ищет наличие этих строк в вашем конфигурационном файле, поэтому текст ошибки может вводить вас в заблуждение в данном конкретном случае.
Эти строки можно безопасно удалить (на всякий случай сделайте копию вашего текущего конфигурационного файла), что должно привести к появлению гораздо более полезного сообщения об ошибке.
Это был список того, что вы удалили, или того, что у вас осталось? Потому что многие пункты из него есть в списке в исходном посте. Вы действительно сохраняете yml-файл или просто выходите?
О, я вижу, у вас есть web.yml… Возможно, для этой установки нужно сделать что-то ещё.
С днём создания аккаунта! ![]()
Уже есть более чёткое представление о том, когда discourse-cakeday будет перенесён в ядро?
Сэм упоминал некоторое время назад:
Я думал, что, возможно, уже в следующем месяце, но стали ли мы сейчас более уверены в этом, чем тогда?
Удивительно, но cakeday — это последний плагин, который у меня всё ещё есть в app.yml на моём личном сайте! ![]()
Кстати, на этой неделе мы вернулись с нашего ежегодного всемирного митапа и все ещё пытаемся нагнать упущенное, поэтому это не будет в приоритете! Я уверен, что это будет сделано скоро, но спешить некуда.
Для всех, кто не следит за правками в первом посте:
cakeday перенесён в ядро
Добавят ли bbcode в ядро?
Не в ближайшем будущем, это очень-очень сложный плагин, особенно когда речь идет о редакторе текста с форматированием.
Я в целом уважаю вас, ребята, но меня огорчает, что это снова становится проблемой.. Я всё ещё считаю, что заставлять нас заходить в консоль и удалять их вручную — это излишне, когда существует десятки возможных лучших решений, которые не требуют от нас ручного выполнения всех этих действий
Привет, извини, что ты недоволен выбранным нами путём, но таковы правила, к сожалению для тебя. На мой взгляд, инструкции достаточно ясны: всё, что нужно сделать, — это удалить несколько строк из файла app.yml, пересобрать приложение, и всё готово!
Да, я не говорю, что это действительно сложно (это была простая задача, которая заняла 45 секунд), но мне показалось слишком жёстким заставлять нас заходить и делать это вручную, в то время как обычный интерфейс обновления просто пишет: «Пожалуйста, пересоберите приложение вручную!». На мой взгляд, было бы лучше проигнорировать эти строки и просто вывести сообщение вроде hint: плагин discourse-solved теперь включён в ядро и должен быть удалён из файла app.yml, а затем продолжить сборку, либо сразу показать это в интерфейсе. Но это не такая уж большая проблема, лишь небольшое неудобство.
Вы говорили, что это проблема, но, как вы сами заметили, это не так. Просто уточняю этот момент для вас и для других будущих путешественников.
Ваша точка зрения понятна: мы можем сделать больше, чтобы подобные изменения в будущем были проще. В данном случае я не уверен, что можно было сделать иначе, поскольку изменение требовалось в файле app.yml, который должен редактироваться самохостером через командную строку.
В любом случае, на этот раз всё уже готово, и все эти замечательные официальные плагины теперь включены в ядро и доступны всем для использования. Больше не нужно добавлять их в app.yml или беспокоиться о том, как они взаимодействуют друг с другом. Мне нравится, что мой app.yml теперь так прост.
