正如我可能为许多开源项目所做的那样,我正在寻找 GitHub 发布。 有人和我一样 并且也发现 Discourse(已不再)拥有 GitHub 发布。
我的下一个尝试是使用 GitHub 上的 git 标签,这应该是次优的选择。截至今天,GitHub 上的最新标签是 v3.6.0.beta2。查看我自己的 Discourse 实例的管理页面,我正在运行 v3.6.0.beta3。这意味着不仅最新的 Discourse 发布没有在 GitHub 上标记,Discourse 本身(软件)也不能使用 GitHub 标签来了解何时有新发布。
我记得我的安装程序运行在 Docker 上,所以我决定顺着这个思路去查找 Discourse 镜像托管在 Docker Hub 的地方。那里有几种命名约定被用作标签(例如 2.0.20251113-0018-web-only-stable),但似乎没有一个与 Discourse 公开使用的 v.X.Y.Z 格式相关联。
那么,有人有什么建议如何做到这一点吗?
用于显示的 버전은 Discourse::VERSION::String으로 정의되며, 이는 하드코딩된 상수입니다:
1 个赞
Moin
3
我猜你运行的是beta3-latest,这意味着在beta3开发过程中的一个版本。beta3的最终版本尚未发布。
你是否阅读了关于新版本策略的主题?
2 个赞
我没有用任何东西。Discourse 会告诉我何时有更新,我会在 UI 中点击按钮进行安装。我想弄清楚 Discourse 是从哪里获取这些信息的。
谢谢。我确实遇到了那个,但这需要我定期 git clone 并检查那个文件,这并不轻松。
第一个链接无助于我获取最新版本(事实上,似乎还有更多要获取的内容),但第二个链接很有用。看起来版本方案将完全改变。感谢您提供的链接。
Moin
6
我认为关于新测试版发布后会发送通知的解释可能对您有帮助。当您在收到 3.6.0.beta3 版本发布通知后更新,而您的论坛基于“latest”时,您将获得 3.6.0.beta4-latest。
我需要一个 URL,我可以在其中使用编程语言(或说 curl)来检查最新版本。通常这是一个某种形式的 feed,并带有结构化语言(如 JSON、XML、YAML 等)的响应。
RGJ
(Richard - Communiteq)
8
您可以使用 Discourse 代码中的版本检查(discourse/lib/discourse_hub.rb at main · discourse/discourse · GitHub
https://api.discourse.org/api/version_check?installed_version=
其中 X 是您想获取信息的发布分支上的已知版本。
如果您只想获取最新的 5 个测试版版本号,只需使用一个旧版本,例如
https://api.discourse.org/api/version_check?installed_version=3.1.0.beta1
如果您想要最新的稳定版,请省略 installed_version 参数
https://api.discourse.org/api/version_check
4 个赞
这个。这正是我想要的,但我的谷歌搜索没有找到。谢谢!
这个 API 显示 v3.6.0 beta 2 是最新的(与 GitHub 标签一样),而不是我的论坛正在运行的 beta 3。我不明白这是怎么发生的,但那是另一个问题。
谢谢你的帮助。
2 个赞
david
(David Taylor)
11
api.discourse.org 提供的数据取自 GitHub 标签,因此您可以使用任一标签。它们的结果始终相同。
那是因为您运行的是 beta3 的预发布版本:
-latest 后缀是预发布版本的指示符,不对应 Discourse 的特定提交。
2 个赞