APP下载

DigitalOcean开源相依分析工具Gta可大幅提升CI效率

消息来源:baojiabao.com 作者: 发布时间:2026-05-24

报价宝综合消息DigitalOcean开源相依分析工具Gta可大幅提升CI效率

云端供应商DigitalOcean宣布开源其相依性分析工具Gta,这项工具能够进行转换分析,寻出相依项目遭到变更的套件。Gta透过查询Git历史纪录,追踪Go套件的相依性,在单一储存库建置工作管线,只对已变更的套件进行重建,以大幅节省CI时间。

Gta在技术上可以理解为Go Test Auto,DigitalOcean开发Gta的目的,是为了要解决单一且庞大储存库中,程式码更改产生相依性变更,在持续整合上带来的麻烦。DigitalOcean中有一个称为Cthulhu的单一储存库,里面存放了约6年的Go程式码,其包含了不同的专案以及函式库,官方提到,单一储存库最大的优点,就是能够对整个储存库进行大动作的变更,而不需要担心下游储存库被破坏,但是随着Cthulhu中程式码增加,CI建置时间也呈指数成长。

虽然Go程式码建置的速度非常快,但官方提到,在2016年Cthulhu储存库CI建置工作,约需要20分钟才能完成,而这拖慢了整个开发周期。为了解决这个问题,DigitalOcean内部工程师开发Gta工具,能够检查Git历史纪录,从分支合并找出受变更的档案,并利用此资讯来确定建置时,要对哪些套件进行测试。

DigitalOcean举例,当用户提交do/teams/example/droplet套件修改,而这个套件被其他套件do/teams/example/hypervisor引用,Gta会借由检查Git历史纪录,找出这两个需要测试的套件。官方提到,在CI流程中加入Gta,能大幅减少Cthulhu建置的时间,从原本平均建置需要20分钟,到现在只要2到3分钟。

Gta可以被用在建置工作管线的任一个阶段,包括静态分析、程式码编译、测试,以及构件的建置与部署都没问题。在部分需要建构所有内容的情况,只要在测试分支名称加入-force-test字样,或是在拉取请求加入force-test标签,就能对所有内容进行建置。

2021-01-18 10:48:00

相关文章