架构
目录
架构
- 架构图
- 核心组件
- 相关组件
架构
Dory-Engine架构
- Dory-Engine可以部署在k8s中[推荐],也可以使用docker-compose直接部署在docker中[测试用途]
- 所有流水线步骤都在远程的docker中执行,远程docker就是Dory-Engine的
步骤执行器
,编译、打包、部署、扫描、自动化测试、自定义步骤等在执行的时候会随机选择一个远程docker启动容器并执行步骤,步骤执行结束后清理步骤容器。因此编译环境和所有步骤的执行环境都可以通过容器镜像轻松扩展- Dory-Engine和
步骤执行器
都可以根据资源消耗情况进行水平扩缩容- 可以接管各种DevOps组件
- 可以接管各种代码仓库,支持自动在代码仓库中创建演示项目和流水线分支,并自动拉取项目代码,开发人员无需配置和编写任何代码仓库的参数和脚本
- 可以接管各种容器镜像仓库,支持自动在容器镜像仓库中创建项目和分配权限,并自动把流水线打包的容器镜像推送到容器镜像仓库,开发人员无需配置和编写任何容器镜像仓库的参数和脚本
- 可以接管各种制品仓库,支持自动在制品仓库中创建项目仓库和分配权限,并自动把流水线打包的制品压缩包推送到制品仓库,开发人员无需配置和编写任何制品仓库的参数和脚本
- 可以接管各种代码扫描仓库,支持自动在代码扫描仓库中分配权限,并自动把代码扫描报告归档到Dory-Engine,开发人员无需配置和编写任何代码扫描仓库的参数和脚本
- 可以接管各种部署环境
- 可以接管各种版本的k8s环境,支持x86/arm64等不同cpu架构的k8s环境,支持分配gpu算力,支持通过流水线向k8s环境部署应用,也支持直接在k8s环境部署中间件
- 可以接管各种版本的istio服务网格,实现混合灰度发布,支持三种灰度发布模式: 蓝绿发布、金丝雀发布、AB测试发布
- 可以接管各种远程主机环境,支持linux、windows、macOS等多种操作系统,支持通过ansible向各种远程主机部署应用
- 可以接管各种数据库,在数据库中执行注入/回滚的数据库脚本
核心组件
- Dory-Engine由三个核心组件组成
dory-engine
: Dory-Engine的核心后端服务dory-console
: Dory-Engine的前端管理界面dorycli
: Dory-Engine的命令行工具,用于安装Dory-Engine、管理Dory-Engine的配置以及执行流水线等用途
相关组件
- 默认情况下,Dory-Engine的相关组件部署在dory的名字空间下
- 快速安装情况下仅包含
基础组件
,完整安装情况下包含可选组件
|
|
- 默认情况下,容器镜像仓库部署在harbor的名字空间下
- harbor容器镜像仓库为
可选组件
|
|