开源CICD工具深度横评,Jenkins vs Arbess哪个更适合你?

在产品研发过程中,我们需要CICD工具来提高集成交付的工作效率,Jenkins作为一个老牌的CICD工具是广为人知的,而Arbess作为一款新兴的国产开源免费的CICD工具,两款工具各有特点。本文将从安装配置、功能特性、用户体验等几个方面对两款软件进行对比分析。

1、安装配置

|--------|----------------------------------|----------------------------------|
| 项目 | Jenkins | Arbess |
| 安装难度 | 需要预装Java环境,需要手动配置端口和后台服务。 | 一键安装,私有部署不同环境均支持傻瓜式一键安装。 |
| 配置难度 | 需要配置国内镜像源,安装核心插件 | 零配置,安装后即刻可用,无需额外配置。 |
| 支持操作系统 | 支持Windows、macOS、Linux、Docker等系统。 | 支持Windows、MacOS、Linux、Docker等系统。 |

2、功能对比

Arbess和Jenkins都是持续集成与交付(CICD)工具。下面进行功能对比,主要针对两个平台的功能进行详细的对比。

|-------|-----------|-----------------|--------|
| 模块 | 功能 | Jenkins(依靠插件支持) | Arbess |
| 流水线管理 | 流水线管理 | ✔ | ✔ |
| | 用户管理 | ✔ | ✔ |
| | 权限管理 | ✔ | ✔ |
| 流水线设计 | 源码任务 | ✔ | ✔ |
| | 构建 | ✔ | ✔ |
| | 部署 | ✔ | ✔ |
| | 代码扫描 | ✔ | ✔ |
| | 接口自动化测试 | ✖ | ✔ |
| | SSH上传、下载 | ✔ | ✔ |
| | 制品库上传、下载 | ✔ | ✔ |
| | 任务自由组合 | ✔ | ✔ |
| | 并行任务 | ✔ | ✔ |
| | 串行任务 | ✔ | ✔ |
| 流水线执行 | 全局变量 | ✔ | ✔ |
| | 临时变量 | ✔ | ✔ |
| | 分布式运行 | ✔ | ✔ |
| | 定时执行 | ✔ | ✔ |
| | Webhook触发 | ✔ | ✔ |
| | 站内信通知 | ✔ | ✔ |
| | 邮箱通知 | ✔ | ✔ |
| | 运行历史 | ✔ | ✔ |
| | 回滚 | ✔ | ✔ |
| 测试报告 | 代码扫描报告 | ✔ | ✔ |
| | 接口自动化测试报告 | ✖ | ✔ |
| 统计 | 运行统计 | ✖ | ✔ |
| | 结果统计 | ✖ | ✔ |
| 发布计划 | 发布计划 | ✔ | ✔ |
| 系统设置 | 用户管理 | ✔ | ✔ |
| | 权限管理 | ✔ | ✔ |
| | 消息通知方案 | ✖ | ✔ |
| | 消息配置 | ✔ | ✔ |
| | 数据备份还原 | ✔ | ✔ |
| | IP黑白名单 | ✔ | ✔ |
| | 日志管理 | ✔ | ✔ |

  • 流水线管理

Jenkins-项目管理

Arbess项目管理

  • 流水线设计

Jenkins流水线设计

Arbess流水线设计

添加任务

设计任务

  • 流水线执行

Jenkins执行流水线

查看运行历史

查看日志详情

3、系统集成

|---------|-----------------------------------|----------------------------------------------|
| 项目 | Jenkins | Arbess |
| 代码扫描 | 与代码扫描工具SonarQube集成,流水线运行调用代码扫描。 | 与代码扫描工具(SonarQube、SourceFare)集成,流水线运行调用代码扫描。 |
| 自动化测试 | 与自动化测试Selenium集成,流水线运行调用Web自动化测试。 | 与接口自动化测试工具PostIn集成,支持流水线运行调取自动化测试任务。 |
| 账号体系 | 与LDAP集成,实现LDAP账号登录 | 与LDAP、企业微信、钉钉集成,同步用户并登录 |
| IM消息集成 | 支持邮箱、WebHook通知 | 支持站内信、邮箱、企业微信通知 |
| 导入导出 | 支持导入、导出YAML文件 | 支持导出YAML文件 |
| OpenApi | 未内置完整的OpenAPI接口 | 提供完整的OpenAPI接口 |

Arbess集成

4、用户体验

|--------|----------------------|--------------------------|
| 项目 | Jenkins | Arbess |
| 安装配置 | 安装简单,但插件安装慢 | 一键式安装,安装便捷,零配置 |
| UI交互体验 | WEB接口风格老旧,复杂配置需要来回切换 | 界面干净简洁,用户体验较好,支持切换个性化主题。 |
| 上手难度 | 深度依靠插件,界面灵活但上手难度高 | 所见即所得,配置简单,上手难度低 |

Arbess

Jenkins插件

5、开源免费

|--------|---------|--------|
| 项目 | Jenkins | Arbess |
| 是否开源免费 | 开源免费 | 开源免费 |

6、服务支持

|------|--------------------|------------------------------------------------------|
| 项目 | Jenkins | Arbess |
| 服务支持 | 国际化技术支持,出现问题处理难度高。 | 本土化技术支持,7*24小时服务热线;提供工单系统快速反馈和响应问题;企业专属IM群,一对一服务支持。 |

深度体验使用之后有一些基本的观点:

Jenkins

  • 插件功能比较强大,但插件与版本兼容性不太好
  • 学习成本高
  • 交互体验不够友好
  • 社区生态比较成熟

Arbess

  • 各种任务基本内置,不存在兼容性问题
  • 支持一键安装,零配置,比较轻量
  • 交互设计比较简洁,上手难度小
  • 社区生态还不太成熟,还需要时间积累
相关推荐
测试开发Kevin1 天前
详解Jenkins 的 Declarative Pipeline中post 语法
jenkins·devops
茄菲猫的往事1 天前
Arbess CICD实战(12) - 使用Arbess+GitLab实现React.js项目自动化部署
arbess·react.js自动化部署
一张假钞2 天前
Jenkins 项目迁移
ci/cd·jenkins
软件测试君2 天前
Jenkins Share Library教程 —— 开发入门
jenkins
茄菲猫的往事3 天前
Arbess CICD实战(10) - 使用Arbess+GitLab实现PHP项目自动化部署
arbess·php自动化部署
Broken Arrows3 天前
如何在Linux服务器上部署jenkins?
linux·jenkins
19岁开始学习3 天前
PHP操作elasticsearch7.8
elasticsearch·jenkins·php
wearegogog1233 天前
Centos7下docker的jenkins下载并配置jdk与maven
java·docker·jenkins
gb42152874 天前
elasticsearch索引多长时间刷新一次(智能刷新索引根据数据条数去更新)
大数据·elasticsearch·jenkins