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
- 各种任务基本内置,不存在兼容性问题
- 支持一键安装,零配置,比较轻量
- 交互设计比较简洁,上手难度小
- 社区生态还不太成熟,还需要时间积累