目录

特性与优势

特性与优势
  • 平台工程最佳实践
  • 应用上云流程

特性与优势

Dory-Engine平台工程最佳实践

Dory-Engine 平台工程最佳实践

  • 平台工程的目标就是降本增效,而降本增效的本质是减负,如何为开发团队减负是平台工程的核心使命
  • Dory-Engine如何做到开发人员完全不用学、不用写、不用配,即可自主完成应用从源代码上线到云原生环境

Dory-Engine内建应用上云流程

Dory-Engine 内建应用上云流程: ../../images/pipeline-1.png

  • 拉取代码 gitPull:从代码仓库拉取代码,并自动checkout到对应分支,可以手工选择checkout到分支上的特定tag的代码
  • 获取运行配置 getRunSettings:根据流水线定义中的模块开关以及步骤开关以及代码仓库中的代码自动生成流水线
  • 编译构建代码 build:根据模块构建定义中的设置,使用对应构建环境执行源代码编译构建
  • 代码扫描 scanCode:使用代码扫描仓库sonarqube进行代码扫描,并把扫描结果保存下来
  • 镜像打包上传 pacakgeImage:把编译构建的制品打包成容器镜像,并推送到镜像仓库
  • 镜像扫描 scanImage:使用trivy对容器镜像进行安全扫描,并把扫描结果保存下来
  • 制品打包上传 artifact:把编译构建的制品打包成压缩包,并推送到依赖与制品仓库
  • 容器应用部署 deploy:根据模块容器部署定义中的设置,自动生成kubernetes的应用部署清单,并通过apiserver接口自动部署应用到kubernetes

../../images/pipeline-2.png

  • 部署ingress applyIngress:根据模块容器部署定义中的设置,自动生成kubernetes的ingress部署清单,并通过apiserver接口自动部署ingress到kubernetes
  • 服务网格设置 applyMesh:用于实现应用的灰度发布,根据模块服务网格定义中的设置,自动生成istio服务网格部署清单,并通过apiserver接口自动部署istio服务网格到kubernetes
  • 容器应用状态检查 checkDeploy:检查kubernetes中部署的应用状态,并等待应用状态为ready
  • 项目容器资源配额检查 checkQuota:检查kubernetes中项目namespace下的资源配额使用情况
  • 主机应用部署 deployArtifact:根据模块制品部署定义中的设置,使用ansible-playbook,把制品部署到远程主机中
  • 接口自动化测试 testApi:检索代码仓库中的接口自动化测试脚本目录,使用robotframework执行接口自动化测试
  • 性能自动化测试 testPerformance:检索代码仓库中的性能自动化测试脚本目录,使用jmeter执行性能自动化测试
  • 界面自动化测试 testWebui:检索代码仓库中的界面自动化测试脚本目录,使用robotframework执行界面自动化测试

Dory-Engine OPS交互式流水线上云步骤:

  • 应用回滚 undo:把部署在kubernetes中的应用版本回滚到上一个版本
  • 调整网格流量 changeMesh:调整应用新旧版本的金丝雀流量比例
  • 执行数据库脚本注入 databaseExecute:检索代码仓库中的数据库变更脚本目录,使用liquibase把数据库脚本注入到目标数据库中
  • 执行数据库脚本回滚 databaseRollback:检索代码仓库中的数据库变更脚本目录,使用liquibase把数据库脚本回滚到目标数据库中

Dory-Engine 支持自定义步骤,通过容器随意扩展上云流程

Dory-Engine内建应用上云流程