Discourse是否总是在“测试版”中?

I noticed that every now and then my Discourse site send me an email telling that a new version is available to install, but every time the version is “x.y.z.beta something”, so I’d like to know: is Discourse always some “beta” version? Is it good to install in a production environment (i.e. to serve hundreds, maybe thowsands people)? Or does this concerns only free and not “cloud” versions?

6 个赞

There’s a good explanation of the branches we use here:

So Discourse is in a perpetual beta state, meaning that we’re always working on new features and refinement. In our case beta does not mean unstable; we host sites with millions of monthly pageviews on our tests-passed and beta versions.

24 个赞

To add to what @awesomerobot posted:

Our nomenclature is a bit different than other software companies, but what it means when we release a beta is we’re releasing a new incremental version. We’ve said, “That’s enough changes for now. Let’s notify sites about new updates.”

So for us, a beta is a minor version bump, and a version is a major version bump. They’re checkpoints we give ourselves to celebrate the work we’ve done. We tend to release two major versions a year, but it all depends on feature development and the like. We’re not really into fake deadlines.

Regarding the branches

Stable/beta are not necessarily any more “stable” than tests-passed. It’s more the idea that the bugs are known. With tests-passed there may be new bugs introduced then fixed a few commits later.

Tests-passed is not much different than most other software releases out there, which usually release small changes every two weeks. We commit new changes almost daily instead, and they’re available via tests-passed.

17 个赞

我加入这个帖子是因为同样的原因。
为什么安装说明没有告诉我们安装稳定分支?

我该如何切换到稳定分支,或者既然我已经在使用“更高版本”,是否为时已晚?
说明可以更新吗?

如果为时已晚,我该如何在稳定分支更新后继续使用它?
我需要不断地进行增量更新直到到达那里吗?

2 个赞

在它赶上之前,你无法切换到稳定版。Discourse 不支持降级。

更好的问题是:你为什么要这样做

稳定版的使用范围不那么广泛,开发重点是 tests-passed。

假设你不是盲目升级生产站点,并且在部署前对每次升级进行测试,那么功能最丰富、支持最好的版本将是默认版本。

4 个赞

抱歉,这一定是某种语言障碍问题,但开发重点是指:

  • Discourse 本身的开发以及分支的构建方式
  • 其他所有人主要都在开发 Discourse

第一个意思是,注重功能和稳定性的论坛的生产站点应该使用 test-passed

第二个意思是,生产站点(产品论坛,而非编码)应该使用 stable

是的。我非常需要一些英语课程,因为这些细微差别对我来说并不完全清楚。

但如果第一个猜测是正确的,为什么还会有 stable 分支,如果它不打算被使用的话?

2 个赞

我们在托管上生产环境运行 tests-passed。它 100% 是为生产站点设计的。

Stable 意味着所有软件错误都是已知的。在下一个稳定版本发布之前,你不会得到任何新东西(包括新错误,但也有错误修复)。这只是站点偏好——想要随之而来的功能?使用 tests-passed。想要一个绝对稳定的版本,除了主要版本更新外不会改变?使用 stable。

10 个赞

我还要加上“想等6到8个月来修复一个bug,但它不被视为安全风险吗?”使用stable

11 个赞

这并非完全属实。有许多错误修复被向后移植到了稳定版。

4 个赞

确实如此,我敢肯定。

但夸张手法是最好的东西!

5 个赞

确实如此,那些致命的错误。较小的错误则没有。

2 个赞

如果通用说明中能有类似 LibreOffice 或 Debian 的下载选项就好了。

我将网站托管在 DO 上,但我的联合所有者最初来自 discoursehosting.net,使用的是子域名,他看到所有这些维护工作,就说:“我们为什么不直接使用 discourse 托管呢?”

我告诉他我们有自己的域名、服务器、更高级的插件(如表情符号点赞和 Google 登录)以及其他东西。我告诉他他可能使用的是旧版 discourse,而且从未更新过。

我也宁愿只使用稳定版,然后几个月后再去管它。我是 Ubuntu 的日常用户,但输入那些构建命令时还是会有点紧张。而且我重建时服务器会宕机五分钟。

另一方面,我将请求集成备份功能,并乐意加入测试版 :rofl:

为了避免任何猜测:在 Communiteq(前身为 discoursehosting.net),您可以获得自己的主机名,在 Professional 计划及以上版本中选择插件,我们还会为您备份和更新论坛。所以是的,使用托管服务确实可以解决您的大部分问题。

4 个赞

原始问题是在 github 安装说明 中提供稳定的构建选项。我看到您为客户提供稳定版本。也许您可以解释一下如何克隆和安装稳定版本?这也是我最初的问题。

作为一个小型且半私密的团体,没有任何理由不使用 DO 5 美元的服务器。但是,您每月 40 美元提供专业版或基础版,这是一个很棒的服务。祝您好运。与官方 discourse 计划相比,这是一个很好的交易。对于那些负担得起的人来说,所有选项都很好。这就是 FOSS 的伟大之处。

1 个赞

我相信默认情况下在测试通过后进行安装的决定是相当故意的。

在单个软件级别支持新安装要容易得多。由于这里提供的支持是基于社区的,并且在大多数情况下是 100% 免费的,因此没有充分的理由使其复杂化。

5 个赞

标准的安装说明之所以简化,是有原因的。
运行 stable 被认为是一种高级设置,因此您需要手动编辑 app.yml。您可以搜索“version”并查看文档中说明的操作。

修改 discourse-setup 以包含此选项会使大多数人感到困惑,因此我认为它不会被添加到那里。

2 个赞

也许一个有用的比喻是,“stable”分支就像基于磁盘的 Microsoft Office,而“tests-passed”分支就像基于云的 Office 365。两者都是可行的选择,并且最终都会收到更新,但对于一个本质上已经在线并且支持团队很小的产品来说,能够指示人们更新他们的安装到当前代码会更有效率,这样就可以及时测试和修复错误。作为论坛管理员,能够报告一个错误并在几天内(有时甚至第二天)更新到修复它的版本是非常棒的。我还没有使用过任何其他响应速度像它一样快的 Web 应用程序。(并不是说每个错误都能立即修复,但很多都可以。)

11 个赞

@pfaffman,我点击了链接以及它指向的链接,但没有看到任何关于将配置设置为 stable 的内容。我错过了什么?您的意思是“在 app.yml 文件中搜索‘version’”吗?

但我认为你不能从 test-passed 回到 stable(因为你会回退提交,并且可能需要在数据库中撤销一些迁移,除非你的 test-passed 版本足够旧,可以被最新的 stable 版本覆盖 :thinking:)。

4 个赞

感谢您的快速回复!

我本来以为更新会暂停,直到下一个 stable 发布周期。

对此有什么见解吗?为什么仅仅切换 #version 开关就会立即改变任何事情?

1 个赞