Page 1 of 1

Determ 的持续集成

Posted: Wed Dec 11, 2024 8:39 am
by samiul51
在开发运行 Determ 的数百个微服务时,确保一切顺利运行对于我们的用户来说至关重要。正在开发的新功能不得妨碍当前使用该平台的用户,也不得通过破坏现有行为来降低他们的体验。

我们必须牢记的另一个方面是代码的质量。你今天编写的任何代码明天都会成为遗留问题。这就是为什么我们必须确保代码尽可能干净且易于维护。合并到主分支的所有内容都必须经过审查并提供反馈。

我们必须在不损害开发者体验的情况下执行这些规则,并真正改善它。同时,我们还需要为客户提供更好的稳定性和可靠性。

虽然这看起来是一项艰巨的任务,但我们处理得很好。请继续阅读,了解我们如何在 Determ 使用持续集成来解决这些问题。

持续集成
如今,每家公司对持续集成的职责都有自己的看法。对我们来说,持续集成就是快速迭代代码库的变更。我们希望将我们正在处理的任何内容与主分支持续集成。当我们编写了一大段代码后,我们应该创建合并请求,征求反馈并验证管道是否成功完成。

通过这样做,我们可以在问题代码扎根之前将其捕获。当您有一百行代码需要审查而不是数千行代码时,更容易快速提供质量反馈。修复请求的更改也更容易。

然后,通过快速合并,我们可以运行集成管道。台湾电话号码库 这样我们就可以验证一切是否正常,并让每个人都能看到我们的更改。这个过程让我们有信心,在更改出现问题之前,我们就能发现它。

Image

资料来源:unDraw
管道
对于不熟悉 CI 管道的人来说,你可以将它们视为由某些事件触发的脚本。

使用管道,我们可以确保对任何代码更改运行标准检查。这使我们对将代码合并到主分支更有信心。使用 GitHub,可以直接限制合并失败管道的代码,并将其与限制直接推送到主分支相结合,并获得可靠且稳定的代码库。

有了经过充分测试的代码和运行这些测试的管道,您可以更加确信一切都正常。如果管道出现故障,创建合并请求的人会收到通知并可以采取必要的措施,合并操作将被阻止,直到管道问题得到解决。


资料来源:unDraw
我们发现管道的另一个用途是简化新版本的创建。当代码合并到主分支时,在再次运行测试后,将构建、标记并推送到我们的发布注册表中。这大大简化了项目入职,因为您可以专注于学习代码库,而忽略创建发布的细节。

由于我们的代码主要托管在GitHub上,我们使用 GitHub Actions 作为管道,并且我们仍在学习所有可以进一步简化这些流程的方法。