Apache DolphinScheduler 的持续集成方向实践
今天给大家带来的分享是基于 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 生态
下面视频是分享演讲:
Apache DolphinScheduler 的持续集成方向实践的更多相关文章
- fir.im weekly - 「 持续集成 」实践教程合集
我们常看到许多团队和开发者分享他们的持续集成实践经验,本期 fir.im Weekly 收集了 iOS,Android,PHP ,NodeJS 等项目搭建持续集成的实践,以及一些国内外公司的内部持续集 ...
- 一个Web 持续集成工作实践
一个web的持续基础实践: https://mp.weixin.qq.com/src=3×tamp=1494325174&ver=1&signature=wFVC0E ...
- fir.im 持续集成技术实践
互联网时代,人人都在追求产品的快速响应.快速迭代和快速验证.不论是创业团队还是大中型企业,都在探索属于自己的敏捷开发.持续交付之道.fir.im 团队也在全面实施敏捷,并推出新持续集成服务 - flo ...
- 视频云SDK iOS持续集成项目实践
1. 前言 2016年, 我们维护的 iOS推流播放融合SDK KSYLive_iOS 在github上发布了40多个版本, 平均两周发布一个新版本, 经历了最初痛苦的全手动版本构建和维护, 到后来慢 ...
- Jenkins多环境持续集成架构实践
自动化部署主要是为了解决项目多.环境多.持续集成慢.部署操作麻烦.手动操作易出错.自动化运维等问题. Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建.部署.自动化 ...
- 倒计时2日!基于 Apache DolphinScheduler&TiDB 的交叉开发实践,从编写到调度让你大幅提升效率
当大数据挖掘成为企业赖以生存.发展乃至转型的生命,如何找到一款好软件帮助企业满足需求,成为了许多大数据工程师困扰的问题.但在当下高速发展的大数据领域,光是一款好软件似乎都不足以满足所有场景业务需求,许 ...
- Jenkins持续集成 入门实践
本文测试环境: ASP.NET MVC项目,Windows 7环境,SVN代码仓库, MSBuild,TortoiseSVN 持续集成这种工具很多了,Jenkins比较常用,他的原理就是一个服务,有一 ...
- Linux下EclipseCDT工程和TFS的持续集成CI实践
在Linux下使用TFS自动构建,需要自动执行连接tfs服务器的操作,命令行文件包TEE-CLC-10.1.0.2011121402.zip,下载地址:http://www.microsoft.com ...
- 学习笔记——Maven实战(四)基于Maven的持续集成实践
Martin的<持续集成> 相信很多读者和我一样,最早接触到持续集成的概念是来自Martin的著名文章<持续集成>,该文最早发布于2000年9月,之后在2006年进行了一次修订 ...
随机推荐
- Prometheus普罗米修斯快速入门
欢迎来到普罗米修斯! Prometheus是一个监控平台,通过从监控目标的抓取HTTP端点上获取指标. 本指南将展示如何使用和安装Promethues,配置和监视第一个资源.还将下载并安装导出器Exp ...
- 一文学完Linux常用命令
一.Linux 终端命令格式 1.终端命令格式 完整版参考链接:Linux常用命令完整版 command [-options] [parameter] 说明: command : 命令名,相应功能的英 ...
- Spring-boot整合Activiti7
Spring-boot整合Activiti7 pom.xml <properties> <maven.compiler.source>15</mave ...
- canal的使用
一.简介 canal [kə'næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求,实 ...
- 实现领域驱动设计 - 使用ABP框架 - 创建实体
用例演示 - 创建实体 本节将演示一些示例用例并讨论可选场景. 创建实体 从实体/聚合根类创建对象是实体生命周期的第一步.聚合/聚合根规则和最佳实践部分建议为Entity类创建一个主构造函数,以保证创 ...
- gitlab备份迁移与升级
升级计划: https://docs.gitlab.com/ee/update/index.html#upgrade-paths 1. 安装gitlab(和源版本必须保持一致) wget https: ...
- 基于springBoot项目如何配置多数据源
前言 有时,在一个项目中会用到多数据源,现在对自己在项目中多数据源的操作总结如下,有不到之处敬请批评指正! 1.pom.xml的依赖引入 <dependency> <groupId& ...
- [BJDCTF2020]The mystery of ip|[CISCN2019 华东南赛区]Web11|SSTI注入
记录一下BUUCTF中两个类似的SSTI注入关卡 [BJDCTF2020]The mystery of ip-1: 1.打开之后显示如下: 2.在hint.php中进行了相关提示,如下: 3.既然获取 ...
- Microsoft Office Visio Professional 之用例图
1 用例 用例:表示参与者与系统的一次交互过程. 用例用椭圆来表示: 2 用例的特点 用例用于描述系统的功能,这个功能是外部使用者看到的系统功能,不反映功能的实现方式. 用例描述用户提出的一些可见需求 ...
- 虚拟机启动时报’A start job is running for /etc/rc.local .. Compatibility错误。
虚拟机启动时报'A start job is running for /etc/rc.local .. Compatibility错误. 问题已经存在很长时间了,但是不影响ssh登录,遂置之未理. 经 ...