gitlab(同名的git的代码管理和持续集成工具的制造者)与云平台提供商digitalocean已合作,将向开源社区提供免费托管,以便其将持续集成工作转移到云端。
gitlab针对持续集成的解决方案基于两个组件:一是gitlab ci,它是管理项目/构建的一种服务,而且也是gitlab.com的一部分;还有一个是gitlab runner,其负责真正地去执行构建,运行测试和通过api访问gitlab ci。 gitlab ci为持续集成提供了必要的功能例如并行构建,实时日志,版本测试等等。

gitlab runner,由go语言编写,其提供了自动扩展的功能,这意味着当需要确保构建处理速度尽量快的情况下自动的扩展或者缩减虚拟机。据gitlab称,gitlab runner自动扩展功能让并行构建变得很简单,而且它特别适合在digitalocean上运行(这要归功于digitalocean快速的启动时间,能在一分钟以内启动一个新的运行实例。)。
infoq已经联系了gitlab的ceo sid sijbrandij,来了解这个声明对社区开发者们的意义。
您可以形容一下gitlab和digitalocean的集成是什么情形么?有什么新的内容?
digitalocean已经为快速安装gitlab提供droplet模板(预构建镜像)很多年了。gitlab runner
autoscale会让那些拥有gitlab服务器的开发者输入digitalocean证书,然后用户可以自动地启动或者停止新的
droplet来确保他们的持续集成测试快速安全并低成本地运行。
在什么情况下,在digitalocean上通过gitlab部署持续集成能够给开发流程带来最大的收益?
使用digital ocean和gitlab来进行自动扩展持续集成有相当多的益处。下面是一些例子:
当你需要测试很多项目时,能够在多个项目上进行持续集成和测试的能力。
对需要长时间运行或者运行缓慢的测试集,能够并行地运行测试的能力。
提供使用无界面浏览器模拟ui体验导致测试缓慢的解决方案。
提供防止由于共享持续集成的机器造成项目互相影响和信息泄露的解决方案。
由于时区的不同和每三周一次的scrum冲刺,会导致成天累月运转的机器产生不可预测的使用,digital ocean和gitlab提供了解决方案。
能够在每次修改被提出时就进行测试的能力,而不是要等到修改被允许后才能进行测试。
解决了大公司中需要昂贵的基础设施以及需要花很长时间的配置新服务器。
对于gitlab.com的项目来说,可以获取digital ocean的免费runner意味着什么?
开发者一方面可以工作在自己私有的项目上,另一方面却可以使用强大的持续集成工具,而这些都不需要开发者进行多次购买。在以前,使用一个持续集成工具是很昂贵的,如果开发者需要使用10个并行的runner,他们需要每个月支付550美金。而现在通过和digitalocean合作,持续集成对开发者免费了。
gitlab对安装和配置digitalocean的runner提供了详细的说明。
====================================分割线================================