Apache DolphinScheduler 的持续集成方向实践
今天给大家带来的分享是基于 Apache DolphinScheduler 的持续集成方向实践,分享的内容主要为以下六点:“研发效能DolphinScheduler CI/CD 应用案例D...
今天给大家带来的分享是基于 Apache DolphinScheduler 的持续集成方向实践,分享的内容主要为以下六点:
“
-
研发效能
-
DolphinSchedulerCI/CD 应用案例 -
DolphinScheduler平台下的Serverless 理念 -
基于DolphinScheduler DAG 搭建 CI/CD 流水线的解决方案
-
模块化组装方案的实践案例
-
为什么选择 DolphinScheduler
1 研发效能
效率竖井
-
由局部优化导致,表现为:各个环节和部门繁忙而“高效”,但总体的效率和响应速度却很低。它是研发效能提升的普遍症结所在。(参照:https://developer.aliyun.com/article/687237)

基本介绍
-
一个组织持续快速交付价值的能力,可以从流动效率、资源效率和质量三个方面来衡量。其中流动效率是改进研发效能的核心抓手,它带来系统和全局的改进。
持续集成支撑平台
-
稳定任务平台 - DS
-
可以支持DIY - 脚本
-
可以自定义流程组装逻辑 - DAG
三要素
-
准确(质量)
-
快速(流动+资源)
-
持续(流动+资源)
人员关系
-
DevOps:开发人员&测试人员&产品经理
平台要求
-
平台易用性、门槛
-
流程的模块化
-
一个改动即使生效
-
集成测试的模块化
维基百科:DevOps是一组过程、方法与系统的统称,用于促进开发、技术运营和质量保障(QA)部门之间的沟通、协作与整合。
支撑平台的效能
可定制化
-
-
降低定制门槛 – 脚本
-
灵活组装
-
-
减少写选择逻辑的可能
-
快速尝试
-
-
复制
-
删除
-
增加
-
2 DolphinScheduler CI/CD 应用场景
场景:
-
集群规模:16台(6master/10worker)
-
每日任务量:task 级别 – 4000+
-
新品-CICD铺设周期:< 0.5 天
-
成品质量提高:80%+(降低线上事故)
-
使用人物:开发、测试、管理者

3 DolphinScheduler 平台下的Serverless 理念
Serverless 无服务架构
-
通过将复杂的服务器架构透明化,使开发者专注于“要做什么”,从而强调了减少开发者对服务器等计算资源的关注、工作粒度从服务器切换到任务的思想

Faas 方法即为服务 – OpenFaaS

4 基于DS DAG 搭建 CI/CD 流水线
脚本即为服务 – 脚本设计方式
-
单一职责:只做一件事
-
解耦:不过分依赖其他模块
-
可配置参数:可以使用全局参数,或者从配置服务中读取参数
-
自检结果:脚本执行结果,就是这件事的结果
脚本即为服务 – 通用性脚本介绍
-
克隆代码
-
镜像编译
-
服务部署
-
特定环境准备
-
容器运行脚本
-
包含特定场景的业务脚本
5 模块化组装方案的实践案例
基于DS DAG 搭建 CI/CD 流水线
-
单模块持续集成配置方式


-
关键字
-
-
系统变量
-

-
全局变量
-
局部变量
-
模板嵌套
-
多模块单模块持续集成配置方式


6 为什么选择 DolphinScheduler
-
支持UI 操作 - 编辑流程
-
DAG
-
学习成本、教育成本
-
社区文档
-
Java 生态
下面视频是分享演讲:
更多推荐
所有评论(0)