改版 or 不改,一款好的持续交付系统应该长什么样子?

2020年3月30号,CircleCI通过线上交流会方式介绍了全新的UI界面,并上传至YouTube, 视频传送门: https://www.youtube.com/watch?v=sP4JEH7Bb48&list=PL9GgS3TcDh8yDASlwq4qmtGBSL6l5Enqh

相比之前的界面,CircleCI对很多功能模版做了整合和重新设计,比如:取消了顶部的导航栏,统一归属到左侧可收缩的导航侧栏中、统一了jobs、workflows为Pipelines的界面展示、优化了workflow UI方式等等,不过根据CircleCI官网的Feedback记录,新的UI也遭受到很多用户的吐槽~ (传送门:https://discuss.circleci.com/c/bug-reports/product-feedback/)

02

各个功能模块介绍

下面,我们将详细介绍CircleCI全新的UI各个功能模版

1、登陆

首先,登陆方式还是没有发生变化,CircleCI没有单独的账号信息,统一通过Github/BitBucket账号授权登陆

2、主界面

登陆CircleCI后,主界面UI界面如下,大体可以分为3部分:1.账号管理、2.左侧菜单、3.选中菜单页显示的内容

2.1、用户管理

在老的UI界面中,用户管理在界面右上角

新版转移到左下角了

用户配置界面内容和老的UI一样,包含6个配置项:

2.2、Pipelines

在新的UI界面中,CircleCI将所有流水线相关的功能都集成到Pipline界面中,Pipline界面主要包含了三个模块:1.Project Settings(项目相关配置)、2.Piplines过滤条件、3.Piplines列表

2.2.1、Project Settings

project相关配置有6个,如下:

除此之外,Organization Settings也被移到Project Settings右上角

Organization Settings包含了三个配置(Contexts、VCS、Security)

2.2.2、Piplines过滤条件

过滤条件主要有三个:project过滤、所有pipelines或我的pipeline过滤、分支过滤

2.2.3、Piplines列表

CircleCI的pipelines列表是用户使用频率最高的页面,一共有7个列项

(1)Workflow界面

workflow界面主要由三部分组成:(1)导航锚点、(2)workflow信息概要、(3)流水线UI

[1]导航面包屑

导航面包屑格式:project名称 > 分支名称 > workflow名称 > job名称,通过点击“project名称”或“分支名称”,会返回至Pipelines界面,并以此为条件过滤。

[2]workflow信息概要

这部分界面主要包含了5个小模块,分别是:

1、workflow名称和其执行状态

2、重跑或取消按钮。支持从workflow的开始或失败Job开始重跑

3、project配置和流水线yaml配置文件查看入口

4、执行耗时和开始时间

5、分支、提交点和提交用户信息

[3]流水线UI

CircleCI的流水线比我想象的要简单一点,有点小失望,在这个界面,仅能看到整体的编排视图,但是点击每个Job,不能在当前页面展示,必须跳转一个新的界面才可以看到Job的详细信息(比如产物、测试结果等),体检有点低效。

(2)Job界面

在新版的UI中,取消了老版的JOBS界面(老的UI所有Workflow jobs汇总在一个界面),Job入口统一通过Piplines列表页的“WORKFLOW”列或workflow流水线界面进入。

在workflow界面,进入job后,会发现顶部面包屑会多出一个job名,在中间workflow概览信息未发生变化,在最下方,多了三个Tab页,分别是: STEPS(执行步骤)、TEST(测试结果)、ARTIFACTS(产物)

STEPS(执行步骤):这个Tab页中展示了Job所有执行步骤日志,以及每个步骤的执行耗时

TEST(测试结果):这个Tab页展示了Job执行的测试结果(通过yaml中的store_test_results step指定测试文件路径)

ARTIFACTS(产物):这个Tab页展示了Job执行后的产物(通过yaml中的store_artifacts step指定产物路径)

2.3、Projects

Porjects都是从CVS(Github/BitBucket)同步过来的项目信息,这里主要用于为项目添加.circleci/config.yml文件,将project初始化到Pipelines界面中

03

新UI不足之处

1、新UI响应速度变得很慢,特别是进入Piplines界面很慢

官方解释是每次进入都需要对用户权限进行验证,需要调用CVS API校验,虽然也有缓存,但是为了保证代码权限的实时性,缓存时间也很短

2、更新后的workflow ui界面更难看懂了(老版job之间的连线比较规整,新版本更错综交杂)

3、错误日志没有高亮显示了

4、查看日志相比之前需要更多次的点击

引用

[1]CircleCI Changelog. 

https://circleci.com/changelog/

[2]YouTube – Open Circle Sessions – New UI Exposed! 

https://www.youtube.com/watch?v=sP4JEH7Bb48&list=PL9GgS3TcDh8yDASlwq4qmtGBSL6l5Enqh

[3]New UI Feedback. 

https://discuss.circleci.com/c/bug-reports/product-feedback /

系列预告 - 深入解读企业级持续交付系统CircleCI

Part 1:What is CircleCI ?

Part 2:Pipeline 语法完整解读

Part 3: 带你4步创建入门级workflow

Part 4:一款好的持续交付系统应该长什么样子?

【敬请期待】 Part 5: 细品集成利器orbs

如果还想要了解更多,这里有更多研发效能内容推荐:

趋势研究:从0到1打造软件供应链

点击查看原文:《 【前沿探索】安全交付:GCP 的安全软件供应链

硬核的俄文会议转播,如何打造下一代IDE?

点击查看原文:《 JetBrains OpenDay 2019 盘点:如何打造下一代 IDE

长按识别二维码关注我们

号外号外!!!

蚂蚁金服研发效能团队招募进行中, 高级iOS开发工程师/技术专家、资深前端开发工程师/技术专家、高级Java开发工程师/技术专家、技术支持、静态程序分析技术专家、产品专家 十余+ 岗位持续开放,让我们一起助力内部及外部伙伴研发效能的持续提升,「效」傲江湖:rocket::rocket::rocket:

详细岗位信息扫描下方二维码

如果你对任何岗位感兴趣,欢迎发简历到: AntLinkE@antfin.com