これは些細な質問かもしれませんが、答えが見つかりませんでした。安全なアップデートのデフォルトブランチは何であるべきですか?main ブランチの問題によるランダムな障害で本番サーバーを壊したくありません。最新のタグに従うだけでよいでしょうか?つまり、現在は v3.2.0 ですか?
こんにちは、@CGenie さん、ようこそ:slight_smile:
ほとんどの人はデフォルトの tests-passed ブランチを使用していると思いますが、beta や stable を使用する人もいます。違いについては、Configure a supported tracking branch to get Discourse software updates にもう少し情報があります。
Understanding Discourse release channels も違いについて説明しています。
私の意見では、答えは stable です。これは、コードの大部分を大幅に変更することなく、マイナーなバグ修正とセキュリティパッチを受け取るため、通常は各パッチへのアップグレードを通じて互換性が高くなります。
欠点は、マイナーバージョンを将来的に 3.3.0 に引き上げる場合、小出しではなく「一度に」対処する必要がある、より大きな変更が伴う可能性があることです。これは、前のマイナーバージョンを念頭に置いて構築されたカスタムプラグインなどに特に影響を与える可能性がありますが、新しい 3.3.x シリーズのベータリリースではテストされていません。
総合的に見て、最新の機能を見逃しても気にならないのであれば、stable をお勧めします。
tests-passedであっても、新しい機能を確認する時間があるまで、自分のアップデートを管理し、延期できると思います(必要であればステージングサイトで)。
OK、またくだらない質問ですが:サーバーのデプロイにdiscourse_dockerを使用しています。discourseはmainブランチでセットアップされているようです。これをtests-passedに変更するにはどうすればよいですか?
ああ、わかりました。containers/app.yml の version はデフォルトで tests-passed になっています。これは、安定性と新機能のバランスが取れた妥当な設定ということでしょうか?
その通りです。これは、大規模なフォーラムをセルフホストで運用した数年間の経験に基づいています。ベータ版やテスト済み版は修正や新機能がより速く提供されますが、安定版は予測可能です。
メジャーな変更(バージョンアップグレード)が発生する時期を知っており、バージョン間では変更がマイナーであることを知っています。これにより、自身のリソースを計画し、必要なテスト作業や、カスタマイズ(カスタムテーマなど)の潜在的な破損に備えることができます。