Discourse团队——你们如此自信地每隔几分钟推一次版本更新是怎么做到的?

抱歉问一个关于 Discourse 的元问题(故意的……),但我必须知道,你们是如何自信地每天发布几十个版本更新的??
我的意思是,代码部署在无数个地方的线上,而且破坏一个可能包含多个第三方插件/主题/组件的站点的风险是真实存在的。
你们一定有一个令人难以置信的持续集成流程——能分享一些关于如何进行如此好的测试的技巧吗?

7 个赞

我们首先在我们内部社区部署所有新更改,这有助于我们每天的工作,包括 meta.discourse.org

Discourse 团队会获得最新、最棒的更改……以及 bug。然后,你们 meta 用户也会承担大部分影响。

与普遍看法相反,我们并非 一直 将所有更改部署到所有站点;我们会定期部署站点。您说得对,破坏站点是有风险的。我们必须在保持站点安全和更新与因担心损坏而从不更新之间取得良好平衡。

对于测试,您可以查看我们的存储库。我们还有额外的内部构建+测试流程

  • 核心的 tests 在每次提交时运行
  • 支持插件中的 tests
  • 支持主题中的 tests

理想情况下,第三方插件也应该有测试,而且值得注意的是,由于无法管理不兼容性和安全性,我们不在我们的托管服务上支持它们。

17 个赞