Jenkins是一种开源的持续集成和持续交付自动化服务器,已被世界各地的开发团队广泛使用。最近Jenkins正式发布了Blue Ocean 1.0。
Blue Ocean最初发布于2016年五月,最近才由James Dumay在博客帖子中宣布正式发布。该帖子中还提供了对其新特性的概览:
Blue Ocean为开发人员提供了更具乐趣的Jenkins使用方式,它是从基础开始构建的,实现了一种全新的、现代风格的用户界面,有助于任何规模的团队实现持续交付。它以Jenkins插件的方式安装,并集成于Jenkins的流水线中,安装过程十分简单。从今天开始,已经可以在生产中使用它了。自去年九月在Jenkins World 2016大会上首次推出beta版以来,目前为止Blue Ocean已经有超过7400次安装。没有整个Jenkins开发者和用户社区的支持,这是不可能实现的。
Blue Ocean的新特性包括:
流水线编辑器:用于创建贯穿始终的持续交付流水线,是一种直观并可视化的流水线编辑器。
流水线的可视化:对流水线的可视化表示,提高了全企业范围内持续交付过程的清晰度。
流水线的诊断:即刻定位自动化问题,无需持续扫描日志或关注多个屏幕。
个性化仪表盘:用户可以自定义仪表盘,只显示与自身相关的流水线。
与Github的集成:针对所有特性分支和Pull请求运行流水线,以报告的形式反馈状态给Github,使整个团队可以掌握是否需要执行更改,是否一切保存正常。
“Bule Ocean”的命名源自于《Blue Ocean Strategy》一书,项目的目标密切地契合了在该书中提出的理念:
开发人员的世界已发生了改变。开发者工具已经从纯粹功能性的,转变成“开发人员经验”的一部分。也就是说,开发者工具不再是单一的工具了,而是开发人员在工作中至始至终使用的一系列工具,并且这些工具间相互协作,构成了对开发人员十分有用的工作流……提供开发者工具的软件公司,例如Heroku、Atlassian和Github,推动了那些有益于开发人员的经验的发展,开发人员愈发期待能用上超常设计的工具。近些年中,开发人员正迅速被各类工具所吸引。这些工具不仅是功能性的,而且在设计上也是与开发人员的工作流程无缝结合的,使用上也别具乐趣。Jenkins当然也需要提升,以适应这种转变所表示的更高设计标准与用户体验。
对于已安装的Jenkins实例,使用Blue Ocean无需做任何额外的配置。考虑到最初发布Blue Ocean的目的是实现对现有流水线工作的可视化,因此当需要配置Jenkins或是管理非流水线任务时,用户还是需要切换回经典的用户界面。但是假以时日,这一限制将会得到改进。虽然Blue Ocean中也兼容自由式任务(Freestyle Job),但是自由式任务不能使用新的流水线特性。
对于Jenkins开发人员及插件开发人员,新版本中还给出了一种全新的“Jenkins设计语言”、一种现代JavaScript工具链、客户端扩展点和服务器发送事件(Server Sent Events)。
Blue Ocean适用于全部现有的Jenkins实例(2.7及以后版本)。它以插件的形式安装,在必要时可切回经典的Jenkins用户界面。此外,Jenkins项目还发布了一个内建了Blue Ocean的Docker容器。