用持续合并解决拉动请求的问题
事实是:拉动请求的状态被打破了,我们终于有数据来证明这一点。在这次采访中,我们将了解到一个拟议的解决方案:持续合并。
事实是:拉取请求的状态被打破了,我们终于有了数据来证明这一点。在我们最新的LinearB Labs节目中,我们揭示了导致我们得出必然结论的信息,即拉取请求已经成为一个巨大的劳作来源、瓶颈和巨大的运输障碍。
更好的是,两个一直在思考如何攻击这个开发工作流程问题的人,LinearB的Dan Lines和Ori Keren,准备实际提出一个解决方案:持续合并。
作为CI/CD的下一步,持续合并的概念是创建一个通道,根据风险对拉动请求进行合并。简单地说,拉动请求不应该全部被同等对待。
本集提出的持续合并的第一步是开发工具GitStream,它可以根据风险和所需的关注程度自动优化合并拉动请求。
这是一次改变游戏规则的对话,本集是你第一次听到持续合并,但肯定不会是最后一次。
本集亮点
- (3:10) CI/CD的历史
- (10:15) 开发人员经验中未被诊断的第一大问题
- (15:00) 全行业在VSM方面发生了什么?
- (18:32) 给予开发者一个更好的工具。持续合并
- (24:09) 不是所有的PR都应该被同等对待
- (28:21) 75-80%的PR都没有做任何修改
- (34:40) 什么是GitStream?
插曲摘录
什么是GitStream?
丹我们有一个新产品。它叫GitStream。它就像超级,超级酷。很多团队都在使用它,我将在这里介绍一些功能,这些功能与我们一直在谈论的所有问题有关,即开发人员正在经历的瓶颈,他们正在经历的劳累。关于GitStream的第一件事是它是完全可以编程的。我们一直在谈论规则。我们实际上在使用我们称之为.cm的文件。这是一个可以描述变化特征的文件,比如变化的大小,变化的覆盖面,变化的安全性。当你能够描述这些不同的标准或PR的不同特征时,你就可以把它们放到不同行动的通道中。例如,其中一些应该是自动批准。好的,这只是一个对文档的修改。让我们用GitStream批准它。其他的就像我们说的,嘿,也许这是一个非常,非常大的PR,需要一个特定的人去审查它。它必须有,你知道的,只有服务的审查。这允许你灵活地做到这一点。因此,现在每个团队--当然我们学到的东西,每个团队和项目都是不同的,这就是为什么你需要这种灵活性。所有的程序都可以创建你自己的规则。
**奥拉:**是的,我们的一些客户说,你知道,这个产品仍然处于POC模式。所以,也许我不需要--比如,它还没有投入生产。也许我不需要任何公关审查,所以你可以有这样的规则...对吗?如果它在这个仓库里,而这两个开发者是POC模式,就自动合并,现在事情就不由......
**丹:**是的。每个版本库都是不同的。项目的每个成熟度都是不同的。所以现在你知道,我们给出了一些基本的规则,但每个团队都可以编程,你知道,他们想怎么分类和对PR采取行动。现在它的另一个有趣的方面,Conor,也就是你所提到的,是有一个IDE扩展。因此,如果你使用的是VS Code,那里有一个可以安装的扩展。当你作为一个开发者在开发时,你可以看到你所处的车道,你可以看到你需要做什么来达到A、B或C车道。因此,举例来说,假设快车道的标准是我的修改需要100%的单元测试覆盖率。那么,你知道我们的插件会说,是的,你知道,你已经完成了90%,但你还没有达到这个快车道。这里是你必须要做的事情,以达到这个目的。哦,现在我被激励去做正确的事情了。这样我就可以更快地合并我的代码了。我认为这是一个CM解决方案的最后一个重要的、极其重要的方面。当我在编码的时候,你必须让开发者看到。
不是所有的PR都是一样的
丹:当我与开发人员和开发团队交谈时,我看到的是现在所有的变化...。所以对代码库的改变被当作是完全一样的,但它们并不完全一样。因此,作为一个行业,现在,大多数时候,我们说,不管是什么变化,所以不管变化的大小,变化的风险,它所改变的服务,它所处的 repo,我们都要经过同样的审查过程。通常情况下,它是这样的:我将打开一个PR,我可能会把这个PR分配给至少一个人,或者我可能会在Slack频道中问,有人能审查这个PR吗?当他们准备好的时候,他们就会拿起这个公关。当然,他们已经在做完全不同的事情了。他们将不得不改变他们正在做的事情。来找我的PR,来回问了几次。我在改变代码,我在更新它,最后,它被合并了。这就是今天95%的团队正在经历的过程。我们觉得,如果我们能够,这就是我们现在所能做的,根据一些因素来对待这些同行或区别对待这些变化。我们可以解开这个瓶颈。
额外的视频和关于互动
此外,我们还邀请你在10月25日的Interact上加入来自Shopify、Stripe、Slack等公司的工程领导。这是一个免费的、虚拟的、社区驱动的工程领导力会议,有超过25位开发领域最受尊敬的人参加,他们都是由Dev Interrupted社区中的数千名工程领导人挑选出来的。