README
¶
Dory-Engine是一个非常简单的开源k8s远程开发环境
详细参见官方网站: https://doryengine.com
什么是Dory-Engine
Dory-Engine
是一个非常简单的开源k8s远程开发环境,使用场景如下:
- 开发人员通过IDE编写代码,并推送到代码仓库
- Dory-Engine拉取代码仓库的源代码,自动编译打包成容器镜像并部署到k8s中
- 使用Dory-Engine快速在k8s中部署各种中间件,进行远程联调测试
- 快速开始视频介绍:
🚀🚀🚀 Dory-Engine是一个非常简单的开源k8s远程开发环境 (https://www.bilibili.com/video/BV1Zw4m1r7aw/)
- 创建开发项目
- 设置流水线
- 执行流水线
- 部署中间件到k8s
- 在k8s中进行联调测试
Dory-Engine
具有以下特点:
- 不用学: 不用学习复杂的k8s技术原理,5分钟即可快速上手部署应用
- 不用配: 不需要配置任何代码仓库、镜像仓库和k8s连接参数
- 不用写: 不需要编写任何k8s部署清单和流水线脚本
Dory-Engine
架构
- 部署简单: 支持使用docker-compose或者kubernetes进行部署
- 扩展性强: 内置的编译、扫描、自动化测试等步骤都在docker容器中执行,可以通过自定义容器镜像支持各种编程语言编译环境和自定义步骤
- 上手极快: 自动接管各种代码仓库、依赖仓库、镜像仓库、扫描仓库,开发人员无需做任何配置,编译、打包、部署的流水线自动就绪
- 功能强大: 支持部署到多个k8s环境,支持x86/arm架构编译部署,支持gpu资源调度,支持多种灰度发布,主机环境部署,数据库脚本部署
什么是dorycli
-
dorycli是Dory-Engine的命令行工具,可以用于安装Dory-Engine服务,管理Dory-Engine的各项配置,以及通过命令行方式运行流水线。
-
获取更多帮助请运行以下命令
dorycli -h
- 子命令结构:
dorycli
├── admin # 配置项管理,需要管理员权限
│ ├── apply # 把文件、目录或者stdin中的配置参数应用到项目配置信息中,需要项目维护者权限
│ ├── delete # 删除项目配置信息,需要项目维护者权限
│ └── get # 获取项目配置信息,需要项目维护者权限
├── console # 项目控制台管理,需要项目维护者权限
│ ├── apply # 把文件、目录或者stdin中的配置参数应用到Dory-Engine的配置项中,需要项目维护者权限
│ ├── delete # 删除项目配置项,需要项目维护者权限
│ └── get # 获取项目配置项,需要项目维护者权限
├── def # 管理项目定义
│ ├── apply # 应用项目定义配置项
│ ├── clone # 把项目定义的模块复制到其他环境
│ ├── delete # 删除项目定义中的模块
│ ├── get # 获取项目定义
│ └── patch # 通过补丁更新项目定义
├── install # 把Dory-Engine安装在kubernetes集群或者docker主机上
│ ├── check # 检查安装的前提条件
│ ├── ha # 创建高可用kubernetes集群的负载均衡器
│ │ ├── print # 打印高可用kubernetes集群负载均衡器安装配置的YAML文件
│ │ └── script # 创建负载均衡器的配置文件、docker-compose文件以及高可用kubernetes集群的初始化配置文件
│ ├── print # 打印安装配置YAML文件
│ ├── pull # 拉取并构建相关容器镜像
│ ├── run # 自动安装Dory-Engine
│ └── script # 手动安装Dory-Engine
├── login # 登录到Dory-Engine
├── logout # 从Dory-Engine注销
├── pipeline # 获取或者执行流水线
│ ├── execute # 执行流水线
│ └── get # 获取流水线
├── project # 管理项目
│ ├── execute # 执行项目批处理任务
│ └── get # 获取项目信息
├── run # 管理流水线运行记录
│ ├── abort # 终止执行中的流水线
│ ├── get # 查看流水线运行记录
│ └── logs # 查看流水线运行日志
└── version # 显示版本信息
安装 dorycli
二进制包方式安装
-
从dorycli Releases下载相应的二进制安装包. 一旦下载后,二进制执行文件就可以在任何地方执行,你无需把执行文件放到全局目录,假如你没有主机的相关权限的话。
-
更好的方式是把二进制执行文件放到PATH所在的目录,这样你在任何地方都可以调用dorycli,常见的路径为 /user/local/bin
源码方式安装
- dorycli 需要golangv1.18.x以上版本编译。
# 克隆源代码
git clone https://github.com/dory-engine/dorycli.git
# 从源代码编译dorycli
cd dorycli
go mod tidy && go build -o dorycli
mv dorycli /usr/local/bin/
go命令直接安装
# 直接安装
go install github.com/dory-engine/dorycli
# 查看安装位置
which dorycli
使用 dorycli
安装 Dory-Engine
##############################
# 请根据以下步骤指引把Dory-Engine安装到kubernetes集群中 (生产用途,推荐安装方式):
# 1. 检查把Dory-Engine安装到kubernetes集群的前提条件,被接管的kubernetes集群的容器运行时为docker
dorycli install check --mode kubernetes --runtime docker
# 2. (选项1) 打印把Dory-Engine安装到kubernetes集群的YAML安装配置文件,被接管的kubernetes集群的容器运行时为docker(快速安装模式,仅安装Dory-Engine基础组件)
dorycli install print --mode kubernetes --runtime docker > install-config-kubernetes.yaml
# 2. (选项2) 打印把Dory-Engine安装到kubernetes集群的YAML安装配置文件,被接管的kubernetes集群的容器运行时为docker(完整安装模式,同时会安装代码仓库、镜像仓库、依赖与制品仓库以及代码扫描仓库)
dorycli install print --mode kubernetes --runtime docker --full > install-config-kubernetes.yaml
# 3. 根据安装配置文件说明,手工修改安装配置文件
vi install-config-kubernetes.yaml
# 4. 拉取并构建安装Dory-Engine所需要的容器镜像
dorycli install pull -f install-config-kubernetes.yaml
# 5. (选项1) 把Dory-Engine自动安装到kubernetes集群
dorycli install run -o readme-install-kubernetes -f install-config-kubernetes.yaml
# 5. (选项2) 以手动的方式安装Dory-Engine到kubernetes集群,执行命令将会输出安装说明文件以及所有部署清单和配置文件,参照说明文件,以自定义方式安装Dory-Engine
dorycli install script -o readme-install-kubernetes -f install-config-kubernetes.yaml
##############################
# 请根据以下步骤指引把Dory-Engine安装到docker主机中 (测试用途):
# 1. 检查把Dory-Engine安装到docker主机的前提条件,被接管的kubernetes集群的容器运行时为docker
dorycli install check --mode docker --runtime docker
# 2. (选项1) 打印把Dory-Engine安装到docker主机的YAML安装配置文件,被接管的kubernetes集群的容器运行时为docker(快速安装模式,仅安装Dory-Engine基础组件)
dorycli install print --mode docker --runtime docker > install-config-docker.yaml
# 2. (选项2) 打印把Dory-Engine安装到kubernetes集群的YAML安装配置文件,被接管的kubernetes集群的容器运行时为docker(完整安装模式,同时会安装代码仓库、镜像仓库、依赖与制品仓库以及代码扫描仓库)
dorycli install print --mode docker --runtime docker --full > install-config-docker.yaml
# 3. 根据安装配置文件说明,手工修改安装配置文件
vi install-config-docker.yaml
# 4. 拉取并构建安装Dory-Engine所需要的容器镜像
dorycli install pull -f install-config-docker.yaml
# 5. (选项 1) 把Dory-Engine自动安装到docker主机
dorycli install run -o readme-install-docker -f install-config-docker.yaml
# 5. (选项 2) 以手动的方式安装Dory-Engine到docker主机,执行命令将会输出安装说明文件以及所有部署清单和配置文件,参照说明文件,以自定义方式安装Dory-Engine
dorycli install script -o readme-install-docker -f install-config-docker.yaml
- 视频指引
🚀🚀🚀 使用dorycli完整安装Dory-Engine (https://www.bilibili.com/video/BV1x94y167T5/)
- 安装Dory-Engine核心组件
- 安装镜像仓库、代码仓库、依赖与制品仓库、镜像扫描仓库
🚀🚀🚀 使用dorycli快速安装Dory-Engine (https://www.bilibili.com/video/BV1aG411D7Sj/)
- 仅安装Dory-Engine核心组件
Dory-Engine的使用演示
- 重要必看 ################################
🚀🚀🚀 Dory-Engine GitOps云环境管理 (https://www.bilibili.com/video/BV1Y8411z7em/)
- 介绍通过OPS交互式流水线,无需编译构建直接把镜像部署到k8s,实现CI与CD分离
- 介绍通过OPS交互式流水线,实现k8s中的应用版本回滚
- 如何通过DORY部署中间件到k8s
- 如何通过DORY部署跳板机容器到k8s中,并调试应用
- 如何通过OPS交互式流水线,把代码仓库中的数据库脚本在数据库中执行注入和回滚
- 如何通过流水线,执行代码仓库中的自动化测试脚本,支持接口自动化测试(robotframework)、界面自动化测试(robotframework)、性能自动化测试(jmeter)
- 如何通过dorycli命令行工具执行流水线
- 如何通过dorycli命令行工具批量管理流水线配置
🚀🚀🚀 Dory-Engine深入云原生应用部署 (https://www.bilibili.com/video/BV18g4y1D77S/)
- 详细介绍微服务部署到k8s的各项参数设置
- 相关视频 ################################
Dory-Engine平台工程最佳实践 (https://www.bilibili.com/video/BV1oM4y117Pj)
- 介绍平台工程实践的背景
- 介绍如何通过DORY实现应用从源代码部署到云原生环境
大规模云原生转型血泪史 (https://www.bilibili.com/video/BV1Tu4y1n7CC)
- 介绍大规模云原生转型的实践案例
- 介绍DORY的核心功能
- 介绍DORY的特性与优势
Dory-Engine多云环境部署应用 (https://www.bilibili.com/video/BV1Qg4y1F7y7/)
- 介绍如何通过DORY把应用部署到多个k8s集群
Dory-Engine异构环境部署应用 (https://www.bilibili.com/video/BV1vk4y1x7qX/)
- 介绍如何同时把应用的部分微服务部署到k8s,部分微服务部署到主机环境
Dory-Engine混合灰度发布 (https://www.bilibili.com/video/BV1o14y1B74U/)
- 介绍如何使用DORY实现多个微服务和复杂微服务调用链的混合灰度发布(蓝绿发布、金丝雀发布、AB测试发布)
Dory-Engine自定义上云流程 (https://www.bilibili.com/video/BV1Uj411n78S/)
- 介绍如何新增编译构建环境,让DORY支持各种编程语言
- 介绍如何在流水线中插入自定义步骤,并执行自定义步骤
- 介绍如何定义OPS批处理流水线,让OPS交互式流水线自动执行批处理,无需人工输入
Documentation
¶
There is no documentation for this package.