GoCD持续集成及部署利器

联合创作 · 2023-10-01 05:31

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支持多个主流的操作系统。


浏览 36
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报