Я заметил, что время от времени мой сайт Discourse присылает мне письмо о том, что доступна новая версия для установки, но каждый раз версия обозначается как «x.y.z.beta что-то». Поэтому я хочу узнать: всегда ли Discourse находится в какой-то «бета-версии»? Хорошо ли устанавливать его в производственной среде (то есть для обслуживания сотен, возможно, тысяч пользователей)? Или это касается только бесплатных версий, а не «облачных»?
Здесь есть хорошее объяснение используемых нами веток:
Таким образом, Discourse находится в состоянии перманентной беты, что означает, что мы постоянно работаем над новыми функциями и улучшениями. В нашем случае beta не означает нестабильность: мы хостим сайты с миллионами ежемесячных просмотров страниц на наших версиях tests-passed и beta.
В дополнение к тому, что написал @awesomerobot:
Наша терминология немного отличается от принятой в других программных компаниях, но когда мы выпускаем бета-версию, это означает, что мы выпускаем новую инкрементальную версию. Мы говорим: «На этом изменения пока достаточно. Давайте уведомим сайты о новых обновлениях».
Таким образом, для нас бета-версия — это незначительное обновление версии, а версия — это значительное обновление. Это контрольные точки, которые мы устанавливаем для себя, чтобы отметить проделанную работу. Обычно мы выпускаем две значительные версии в год, но всё зависит от разработки функций и других факторов. Мы не склонны к искусственным дедлайнам.
Касательно веток
Ветки stable/beta не обязательно более «стабильны», чем tests-passed. Скорее, речь идёт о том, что в них известны ошибки. В tests-passed могут появляться новые ошибки, которые затем исправляются через несколько коммитов.
tests-passed мало чем отличается от большинства других релизов программного обеспечения, которые обычно выпускают небольшие изменения каждые две недели. Мы же вносим новые изменения почти ежедневно, и они доступны через tests-passed.
Я в этой теме по той же причине.
Почему в инструкциях по установке не сказано установить стабильную ветку?
Как мне переключиться на стабильную ветку или уже поздно, так как я на «более высокой версии»?
Можно ли обновить инструкции?
Если уже поздно, как мне оставаться на стабильной ветке после её обновления?
Нужно ли мне последовательно обновляться, пока я не доберусь до неё?
Вы не можете переключиться на стабильную версию, пока она не догонит текущую. Discourse не поддерживает откаты.
Более правильный вопрос: зачем вам это нужно?
Стабильная версия используется менее широко, основное внимание в разработке уделяется версии tests-passed.
Если вы не обновляете производственный сайт вслепую и тестируете каждое обновление перед развёртыванием, то наиболее функциональный и хорошо поддерживаемый релиз будет по умолчанию.
Извините, это, должно быть, проблема языкового барьера, но означает ли фокус:
- разработку самого Discourse и процесс сборки веток
- то, что остальные занимаются в основном разработкой Discourse?
Первый вариант означает, что продакшн-сайты, ориентированные на функциональность и стабильность форума, должны использовать ветку test-passed.
Второй вариант означает, что продакшн-сайт, который предоставляет форум как продукт, а не занимается программированием, должен использовать ветку stable.
Да. Мне отчаянно нужны уроки английского, потому что эти нюансы не до конца ясны для меня.
Но если первое предположение верно, зачем тогда существует ветка stable, если она не предназначена для использования?
Мы используем tests-passed в продакшн-среде на нашем хостинге. Он на 100% предназначен для продакшн-сайтов.
Стабильная версия означает, что все программные ошибки известны. Вы не получите ничего нового (ни новых ошибок, ни исправлений) до выхода следующей стабильной версии. Это просто выбор владельца сайта: хотите новые функции по мере их появления? Используйте tests-passed. Хотите абсолютно стабильную сборку, которая не будет меняться, кроме как при обновлениях основных версий? Используйте stable.
К этому я бы добавил: «Хотите подождать 6–8 месяцев, чтобы исправить ошибку, которая не считается угрозой безопасности?» Используйте stable.
Это не совсем так. Множество исправлений ошибок были перенесены обратно в стабильную версию.
Ну, это, конечно, очень верно.
Но гипербола — это лучшая вещь на свете!
Верно, только те, которые критически важны. Мелкие ошибки не были перенесены.
Было бы неплохо, если бы в общих инструкциях был выбор, что-то вроде вариантов загрузки LibreOffice или Debian.
Я размещаю сайт на DO, но мой совладелец изначально использовал subdomain на discoursehosting.net, и, видя всё это обслуживание, он говорит: «Почему бы нам просто не использовать хостинг Discourse?»
Я объяснил ему, что у нас есть своё имя, сервер, плагины более высокого уровня (например, лайки с эмодзи и вход через Google) и другие возможности. Я также сказал, что он, вероятно, использует устаревшую версию Discourse и не обновлял её.
Мне тоже хотелось бы просто использовать стабильную версию и забыть о ней на полгода. Я ежедневно пользуюсь Ubuntu, но немного нервничаю, вводя те несколько команд сборки. К тому же сервер отключается на 5 минут во время пересборки.
С другой стороны, я планирую запросить интеграцию функции резервного копирования и с радостью присоединюсь к бета-тестированию ![]()
Чтобы избежать любых домыслов: в Communiteq (ранее discoursehosting.net) вы получаете собственный домен, возможность выбора плагинов в тарифном плане Professional и выше, а также мы делаем резервные копии и обновляем ваш форум за вас. Да, большинство ваших проблем действительно решается с помощью управляемого хостинга.
Первоначальная проблема заключалась в просьбе предоставить опцию стабильной сборки в инструкциях по установке на GitHub. Я вижу, что вы предоставляете стабильные релизы для своих клиентов. Возможно, вы сможете любезно объяснить, как клонировать и установить стабильный релиз? Это был также мой первоначальный вопрос.
Как небольшая и полузакрытая группа, мы не видим оснований использовать что-либо менее мощное, чем сервер DO за 5 долларов. Однако у вас есть отличная услуга за 40 долларов в месяц для профессионального плана или базового плана. Желаю вам удачи. Это выгодное предложение по сравнению с официальными планами Discourse. Все варианты отлично подходят для тех, кто может себе это позволить. В этом и заключается прелесть FOSS.
Я считаю, что решение установить по умолчанию параметр «успешно пройденные тесты» было вполне осознанным.
Гораздо проще поддерживать новые установки на едином уровне программного обеспечения. Поскольку поддержка здесь оказывается на добровольной основе и в большинстве случаев полностью бесплатна, нет никаких причин усложнять этот процесс.
Стандартные инструкции по установке упрощены не просто так.
Запуск stable считается продвинутой настройкой, поэтому вам нужно вручную отредактировать файл app.yml. Вы можете найти в нём строку «version» и увидеть там документацию о том, что делать.
Добавление этой опции в discourse-setup запутало бы большинство пользователей, поэтому я не думаю, что она будет там добавлена.
Возможно, полезной метафорой будет сравнение: ветка «stable» похожа на настольную версию Microsoft Office, а ветка «tests-passed» — на облачный Office 365. Оба варианта жизнеспособны, и оба в конечном итоге получают обновления, но для продукта, который по своей сути уже работает онлайн и имеет небольшую команду поддержки, более продуктивно иметь возможность рекомендовать пользователям обновлять свои установки до актуального кода, чтобы ошибки можно было оперативно протестировать и исправить. Для администратора форума замечательно иметь возможность сообщить об ошибке и обновиться до версии, которая её исправляет, в течение нескольких дней, иногда даже на следующий день. Я не встречал других веб-приложений, которые были бы столь же отзывчивы. (Хотя не каждая ошибка исправляется мгновенно, многие — да.)
@pfaffman, я перешёл по ссылке и по той, на которую она вела, но не нашёл ничего о том, как установить конфигурацию в stable. Что я упускаю? Вы имеете в виду «найти в файле app.yml строку “version”»?
Но я не думаю, что можно перейти от test-passed к stable (как если бы вы откатывались к старому коммиту и, вероятно, пришлось бы отменять некоторые миграции в базе данных, если только ваша версия test-passed не настолько стара, что она уже перекрыта последней стабильной версией, я полагаю
)
Спасибо за быстрый ответ!
Я ожидал, что обновление просто приостановится до следующего цикла выпуска stable.
Есть ли какие-то пояснения по этому поводу? Почему что-то должно немедленно измениться после переключения флага #version?