特性概览
目录
特性概览
- 功能特性
- 企业版和社区版区别
- 界面概览
Dory-Engine特性概览
- Dory-Engine 是一个非常简单的开源
k8s
远程开发环境,帮助开发人员把应用源代码快速编译、打包、部署到k8s
- 不用学: 不用学习复杂的
k8s
技术原理,5分钟即可快速上手部署应用- 不用配: 不需要配置任何代码仓库、镜像仓库和
k8s
连接参数- 不用写: 不需要编写任何
k8s
部署清单和流水线脚本
功能特性
1. 流水线
- 一条流水线支持同时编译、打包、部署多个不同编程语言编写的微服务模块
- 支持设置流水线的模块开关,可以设置本次执行流水线要编译、打包、部署哪些微服务模块
- 支持设置流水线的步骤开关,可以设置本次执行流水线,要执行哪些步骤
- 支持交互式流水线,可以在执行流水线的过程中动态选择执行哪些模块的哪些步骤
2. 源代码编译
- 支持从多种代码仓库拉取源代码:
gitlab
、gitea
、github.com
、gitee.com
、其他git代码仓库 - 可以自动在代码仓库中创建演示项目代码和演示项目配置,快速上手
- 内置支持多种编程语言的编译环境:
maven
、gradle
、npm
、golang
、python
,程序编译在docker容器中执行 - 支持自定义编译环境,可以通过自定义容器镜像支持各种编程语言,以及windows和macos的应用编译
- 同一份源代码可以编译成不同CPU架构的可执行程序,包括x86 / arm64 / i386 等
3. 代码质量扫描
- 内置支持使用
sonarqube
进行代码质量扫描 - 支持单测覆盖率、bug、不良编码习惯、漏洞相关的代码扫描
4. 容器镜像打包
- 支持把镜像打包成不同CPU架构的容器镜像,包括x86 / arm64 / i386 等
- 支持自动把容器镜像推送到多种容器镜像仓库:
harbor
、其他容器镜像仓库
5. 容器镜像安全扫描
- 内置支持使用
trivy
对容器镜像进行安全扫描 - 支持设置镜像扫描出现多少关键、高危、中危漏洞情况下中断流水线
6. 应用部署到k8s
- 无需编写任何
k8s
的yaml部署清单,通过非常简单的容器部署定义设置如何在k8s
中部署pod - 支持把容器镜像部署到不同CPU架构的
k8s
集群,包括x86 / arm64 / i386 等 - 支持分配GPU算力
- 支持各种
k8s
版本: v1.16.x - v1.31.x - 支持把不同分支的源代码部署到不同的
k8s
集群,例如: develop分支代码编译打包部署到测试环境、release分支代码编译打包部署到生产环境 - 内置支持使用
istio
进行混合灰度发布,包括蓝绿发布、金丝雀发布、AB测试发布三种灰度发布 - 支持使用代码仓库中的配置文件创建
k8s
的configmap和secret,支持把代码仓库中的配置文件发送到k8s
中已启动pod - 支持在
k8s
中部署调试组件,通过调试组件调试应用以及管理k8s
共享存储中的文件 - 支持对部署的应用进行冒烟测试,等待pod状态正常再继续执行流水线
- 支持不用跑流水线直接部署中间件到k8s
7. 应用部署到远程主机
- 支持把源代码编译的制品,例如jar、war包上传到制品仓库
- 支持多种制品仓库:
nexus
、内置制品仓库、http/ftp/sftp方式上传制品 - 内置支持使用
ansible
把制品部署到远程主机
8. 自动化测试
- 内置支持使用
robotframework
进行接口自动化测试,并输出测试报告 - 内置支持使用
robotframework
进行界面自动化测试,并输出测试报告 - 内置支持使用
jmeter
进行性能自动化测试,并输出测试报告
9. 数据库脚本注入/回滚
- 内置支持使用
liquibase
把代码仓库中的数据库脚本注入/回滚数据库 - 支持多种数据库注入/回滚,包括:
mysql
/mariadb
/postgresql
/clickhouse
/mongodb
等
10. 扩展功能
- 支持使用自定义的容器镜像设置自定义步骤,扩展你的流水线能力
- 每个步骤支持设置webhook,在步骤执行成功或者失败的时候触发webhook,与企业内其他系统集成
- 支持使用
dorycli
命令行方式执行流水线,与企业内其他系统集成
社区版和企业版区别
-
社区版和企业版使用相同的程序,
config/license.yaml
文件用于设置企业版license,如果该文件没有设置或者licenseKey
不正确,那么使用的是社区版 -
企业版license可
微信
联系Dory-Engine开发者获取: -
社区版(ce) / 企业版(ee)功能区别
功能 | 社区版(ce) | 企业版(ee) |
---|---|---|
流水线 | ||
源代码编译 | ||
容器镜像打包 | ||
应用部署到k8s | ||
扩展功能 | ||
跨CPU架构编译/打包/部署 | 支持 x86 | 支持 x86 / arm64 / i386 等 |
可接管的代码仓库数量 | 1个 | 多个 |
可接管的容器镜像仓库数量 | 1个 | 多个 |
可接管的制品仓库数量 | 1个 | 多个 |
可接管的代码扫描仓库数量 | 1个 | 多个 |
可接管的k8s环境数量 | 1个 | 多个 |
代码质量扫描 | ||
容器镜像安全扫描 | ||
自动化测试 | ||
应用部署到远程主机 | ||
数据库脚本注入/回滚 | ||
istio混合灰度发布 | ||
通过patch自定义k8s的应用部署 | ||
使用代码仓库中的配置文件在k8s中创建configmap和secret | ||
为k8s分配GPU资源配额 | ||
租户管理员 |
主要界面概览
1. 开发空间
- 用于设置和执行流水线用途,从代码仓库拉取源代码,并编译打包部署到k8s
2. 运行记录
- 查看流水线的历史执行记录
3. 步骤执行记录
- 抽取步骤执行日志中的关键信息形成步骤执行记录
4. 度量统计
- 流水线和步骤的执行统计信息
5. 项目控制台
- 开发项目的基础配置,以及在k8s环境中部署各种中间件组件
6. 管理控制台
- 管理员设置界面,可用于开通和修改开发项目