DSL和GitOps强强联手,提高开发人员工作效率

Stella981
• 阅读 481

DSL和GitOps强强联手,提高开发人员工作效率

导读

Dispatch将强大的DSL与GitOps工作流相结合,通过为开发人员提供熟悉的语言,他们可以快速创建pipeline、在本地进行测试、推送到Dispatch以进行构建、测试并将其推广到生产中。

活动预告:从0到1了解IT现代化!今天下午2:00,D2iQ云原生夏令营正式开讲。无论您是技术人员还是决策者,全面了解新一代技术核心与生态发展,是实现数字化转型的前提。扫描文末二维码立刻报名。

DSL和GitOps强强联手,提高开发人员工作效率

Dispatch将强大的DSL与GitOps工作流相结合,使开发到部署再到生产运维的演进变得轻而易举。您不再需要彻夜不眠地思考那些可能造成生产中断的困扰,例如“哪些配置不是最新的?” “我们还没有测试什么代码?” 或“谁进行了更改,为什么?” 如果您可以打破自互联网诞生以来我们一直采用的那套复杂发布流程,您就可以让Dispatch成为每个参与生命周期的员工都能理解的工具。Dispatch通过授权开发和运维人员使用相同的工具和相同的方法,您可以有效地管理用于改良产品的时间,而不必回滚或按需修补,从而避免下一次灾难。

DSL的强大之处

开发任何东西的最终目的都是将其投入生产。如果您无法充分描述您想要做什么并将其构建出一个框架,这很可能会成为障碍。但这正是Dispatchfile的强大之处,它定义了它的领域专用语言(DSL)。现在,您可以轻松地创建用多种语言编写的直观pipeline,这些语言您已经很熟悉,并且很容易阅读。Dispatch的DSL功能强大,能够让您灵活而简单地构建复杂的项目,而不会带来太多来自学习和创建方面的阻碍。 

Hello World

我们将向您展示一个使用Starlark的hello-world Dispatchfile示例,它将向您展示Dispatchfile的功能如何强大:

DSL和GitOps强强联手,提高开发人员工作效率

在此示例中,您可以直观地看到Dispatchfile结构,可以让pipeline的编写和理解变得很轻松。让我们从操作(Actions)开始。

Actions定义了根据给定条件要执行的任务。在这里,您可以看到"simpleTasks"任务将在任何Pull Request以及"构建"的chatops中执行。这些任务可以在提交拉取请求(Pull Requests)、标记(Tags)和推送(Push)时执行。

DSL和GitOps强强联手,提高开发人员工作效率

在Actions中定义的任务是按顺序步骤运行的,负责pipeline的工作。就Kubernetes而言,步骤也是pod中的容器。步骤是输入、输出、依赖项和卷的组合。在上面的示例中,定义了两个任务。在"simple_docker"中,我们构建并将docker镜像推送到“$YOURDOCKERUSERNAME/helloworld”。然后,我们使用它作为任务“unit-test-sample”的输入,该任务运行“go ./test”命令。最后,我们将任务“unit-test-sample”分配给标签”simpleTasks”,从而使其在Actions中能够更加轻松的重复使用。

DSL和GitOps强强联手,提高开发人员工作效率

我们还有Resources,可以帮助定义任务要消耗或生成的Git存储库、镜像和其它工件。资源最多只能由一个任务输出,任何以该资源为输入的任务都将在输出任务之后运行。这使得定义依赖项和对任务序列进行排序变得容易。在此示例中,我们定义了git资源“helloworld-git”。它将为“simple_docker”任务所使用,用于构建docker镜像“helloworld”。

DSL和GitOps强强联手,提高开发人员工作效率

最后是导入(Resources)。我们的Dispatch Catalog包含用于重复使用各种starlark函数的语法,它能使您的Dispatch文件变小并让您专注于实际的测试内容。在此示例中,我们导入"gitResource"以将git存储库声明为可作为输入发送给任务的资源。然后,再导入“pullRequest”以声明一个条件,以便在每次拉取请求更新时触发构建。此外,我们还需要导入"kaniko"来构建和发布 Docker 镜像。

DSL和GitOps强强联手,提高开发人员工作效率

更多关于学习方面的指导,您可以阅读D2iQ关于Tarun Gupta Akirala的教程,你还可以复制下方链接查看更多关于Helloworld in Starlark的信息。

https://docs.d2iq.com/ksphere/dispatch/1.1/pipeline-configuration/tutorials/hello-world-in-starlark/

GitOps工作流

GitOps的核心概念是配置代码。。GitOps的基本前提是生产中的每个应用程序都具有已知的良好版本状态,而这种状态通常始于开发人员本身。GitOps打破了开发和运维之间的壁垒,因此能够以一种可以无缝升级、降级、重复维护且易于操作的方式编写生产脚本。只要付出足够的努力,配置就可以解决应用程序生命周期的所有状态。您可以轻松地进行更改、阶段测试、然后部署到生产中。因为GitOps授权开发人员参与生命周期的运维,所以您现在有了一座桥梁,使开发人员能了解并进行运维协作,从而改进产品质量、客户体验和随叫随到的服务。运维人员可以对生产状态感到更有信心,因为他们可以验证所推送的内容、定义接受标准并保护用户的数据。当开发和运维人员共享生产成功时,产品的整体质量就会提高。

DSL和GitOps强强联手,提高开发人员工作效率

更好地合作

DSL和GitOps强强联手,提高开发人员工作效率

Dispatch的DSL和本地GitOps工作流的结合是解锁开发人员工作效率的关键。通过为开发人员提供熟悉的语言,他们可以快速创建pipeline、在本地进行测试、推送到Dispatch以进行构建、测试并将其推广到生产中。这节省了用于了解构建配置、通过测试和与维护生产运维所浪费的无数周期。将生产作为配置文件的一种状态来实现,可以使生产变得不那么神秘,并使开发和运维人员更好地合作。

欢迎点击“阅读原文”申请Dispatch免费试用。


D2iQ云原生夏令营

初阶主题:解构IT现代化, 加速数字化转型落地

D2iQ为期3个月的云原生线上培训课程报名正式启动!

如果您还在被花样百出的技术概念所迷惑,不清楚如何开启数字化转型,请您扫码报名您感兴趣的课程。

W E B I N A R

D2iQ云原生夏令营

DSL和GitOps强强联手,提高开发人员工作效率

7月1日(周三) 下午14:00-15:00

内容大纲

  • 解读IT技术演变,发展路径

  • 大型机,X86,虚拟化,容器化和云原生

  • 业务驱动,技术动力。如何理解技术演进趋势?

  • 如何寻找适合自己的技术之路?

  • 从“零”开始技术选型

  • 如何理解开源和IT生态对业务的影响?

  • 现代IT其实没那么难

W E B I N A R

D2iQ云原生夏令营****

DSL和GitOps强强联手,提高开发人员工作效率

7月8日(周三) 下午14:00-15:00

内容大纲

  • 从被动到主动:新一代信息技术主要特点

  • 从被动到主动:利用IT推动企业业务转型与创新

  • 从被动到主动:创新业务的快速发展对IT的推动

  • 传统IT架构的解决方案 - 业务技术架构

  • 传统IT架构的解决方案 - 企业数据

  • 现代IT架构的解决方案 - 业务技术架构

  • 现代IT架构的解决方案 - 企业数据

  • 现代IT可以很简单

W E B I N A R

D2iQ云原生夏令营****

DSL和GitOps强强联手,提高开发人员工作效率

7月15日(周三) 下午14:00-15:00

内容大纲

  • 什么是云原生

  • 云原生发展,过去,现在和未来

  • 云原生与云计算的那些事

    1)云原生IaaS能力

    2)云原生PaaS能力

    3)云原生对SaaS的影响

  • 云原生专项解决方案

    1)数据技术解决方案

    2)DevOps与微服务解决方案

    3)人工智能解决方案

W E B I N A R

D2iQ云原生夏令营****

DSL和GitOps强强联手,提高开发人员工作效率

7月22日(周三) 下午14:00-15:00

内容大纲

  • 什么是新基建

  • 新基建,大机遇

  • 企业数字化转型的雷区

  • 5G 能够带来什么

  • AI 有效发掘数据的价值

  • 数据驱动急需新型IT模式

  • 跨云平台建设是必需品

  • 数字化转型,生态是关键

更多精彩课程,敬请期待!

惊喜礼品

每期课程的第2、第20、第200个报名观众,我们将为您送上神秘大礼包!

每期课程结束后,填写调查问卷,即可获取D2iQ定制笔记本。

定制笔记本

DSL和GitOps强强联手,提高开发人员工作效率

DSL和GitOps强强联手,提高开发人员工作效率

参与分享结束后的Q&A问答环节,即可获得D2iQ定制T-shirt。

定制T-shirt

DSL和GitOps强强联手,提高开发人员工作效率

DSL和GitOps强强联手,提高开发人员工作效率

往期精彩文章

DSL和GitOps强强联手,提高开发人员工作效率

DSL和GitOps强强联手,提高开发人员工作效率

DSL和GitOps强强联手,提高开发人员工作效率

关于D2iQ

D2iQ(原Mesosphere)是世界领先的企业级云平台供应商,助力企业实现开源和云原生创新,交付智能化企业级生产运营体验。D2iQ是Mesos早期开发和企业级部署的顶级专家,也是企业和网络规模环境中先进分布式计算需求的领导权威,在大规模分布式计算方面拥有12年的丰富经验,是全球唯一一家同时提供Mesos和Kubernetes的整体解决方案的公司。D2iQ通过企业级的技术、培训和专业服务,为企业领航并加速云原生转型落地。

D2iQ总部位于美国旧金山,在中国和欧洲设有分公司。目前,D2iQ已完成D轮融资,投资者包括Andreessen Horowitz、HPE、Khosla Ventures、Koch Disruptive Technologies、微软和T. Rowe Price Associates。D2iQ已为多家美国《财富》 50强、中国联通、三一重工、一汽集团等全球知名企业提供云原生创新解决方案。

DSL和GitOps强强联手,提高开发人员工作效率

DSL和GitOps强强联手,提高开发人员工作效率

DSL和GitOps强强联手,提高开发人员工作效率

欢迎点击“阅读原文”获取90天免费试用

本文分享自微信公众号 - D2iQ(d2iq_apac)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
Opencv中Mat矩阵相乘——点乘、dot、mul运算详解
Opencv中Mat矩阵相乘——点乘、dot、mul运算详解2016年09月02日00:00:36 \牧野(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fme.csdn.net%2Fdcrmg) 阅读数:59593
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
2年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Stella981 Stella981
2年前
Nginx反向代理upstream模块介绍
!(https://oscimg.oschina.net/oscnet/1e67c46e359a4d6c8f36b590a372961f.gif)!(https://oscimg.oschina.net/oscnet/819eda5e7de54c23b54b04cfc00d3206.jpg)1.Nginx反
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
1个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这