GoCD持续集成及部署利器
GoCD 一款先进的持续集成和发布管理系统,由ThoughtWorks开发。(不要和Google的编程语言Go混淆了!)其前身为CruiseControl,是ThoughtWorks在做咨询和交付交付项目时自己开发的一款开源的持续集成工具。后来随着持续集成及持续部署的火热,ThoughtWorks专门成立了一个项目组,基于Cruise开发除了Go这款工具。ThoughtWorks开源持续交付工具Go。使用Go来建立起一个项目的持续部署pipeline是非常快的,非常方便。
GoCD 的强大:
-
使用PipeLineGroup,PipeLine,Stage,Job,Task 分级分层控制任务粒度和关联性
-
强大的用户,角色系统
-
go-server <--> go-agent 通信和管理模式
-
除了JRE 1.6+ 以外不依赖其它组件,对系统的冲击很小,方便部署
不足:
-
不支持一个PipeLine、Job在多个Agent上依次执行(对于大规模集群式部署的应用来说,这简直要命)
-
插件比较稀少
-
开源时间短,用户群还比较小
Go的架构设计
Go使用了Server-Agent的模式。Server用来展示和配置pipeline的DashBoard,并存放构建出来的Artifacts(存档文件,比如一个war包); Agent则用来执行真正的构建操作,一个Server可以和多个Agent建立连接,Agent支持多个主流的操作系统。
评论