导读
Dispatch将强大的DSL与GitOps工作流相结合,通过为开发人员提供熟悉的语言,他们可以快速创建pipeline、在本地进行测试、推送到Dispatch以进行构建、测试并将其推广到生产中。
活动预告:从0到1了解IT现代化!今天下午2:00,D2iQ云原生夏令营正式开讲。无论您是技术人员还是决策者,全面了解新一代技术核心与生态发展,是实现数字化转型的前提。扫描文末二维码立刻报名。
Dispatch将强大的DSL与GitOps工作流相结合,使开发到部署再到生产运维的演进变得轻而易举。您不再需要彻夜不眠地思考那些可能造成生产中断的困扰,例如“哪些配置不是最新的?” “我们还没有测试什么代码?” 或“谁进行了更改,为什么?” 如果您可以打破自互联网诞生以来我们一直采用的那套复杂发布流程,您就可以让Dispatch成为每个参与生命周期的员工都能理解的工具。Dispatch通过授权开发和运维人员使用相同的工具和相同的方法,您可以有效地管理用于改良产品的时间,而不必回滚或按需修补,从而避免下一次灾难。
DSL的强大之处
开发任何东西的最终目的都是将其投入生产。如果您无法充分描述您想要做什么并将其构建出一个框架,这很可能会成为障碍。但这正是Dispatchfile的强大之处,它定义了它的领域专用语言(DSL)。现在,您可以轻松地创建用多种语言编写的直观pipeline,这些语言您已经很熟悉,并且很容易阅读。Dispatch的DSL功能强大,能够让您灵活而简单地构建复杂的项目,而不会带来太多来自学习和创建方面的阻碍。
Hello World
我们将向您展示一个使用Starlark的hello-world Dispatchfile示例,它将向您展示Dispatchfile的功能如何强大:
在此示例中,您可以直观地看到Dispatchfile结构,可以让pipeline的编写和理解变得很轻松。让我们从操作(Actions)开始。
Actions定义了根据给定条件要执行的任务。在这里,您可以看到"simpleTasks"任务将在任何Pull Request以及"构建"的chatops中执行。这些任务可以在提交拉取请求(Pull Requests)、标记(Tags)和推送(Push)时执行。
在Actions中定义的任务是按顺序步骤运行的,负责pipeline的工作。就Kubernetes而言,步骤也是pod中的容器。步骤是输入、输出、依赖项和卷的组合。在上面的示例中,定义了两个任务。在"simple_docker"中,我们构建并将docker镜像推送到“$YOURDOCKERUSERNAME/helloworld”。然后,我们使用它作为任务“unit-test-sample”的输入,该任务运行“go ./test”命令。最后,我们将任务“unit-test-sample”分配给标签”simpleTasks”,从而使其在Actions中能够更加轻松的重复使用。
我们还有Resources,可以帮助定义任务要消耗或生成的Git存储库、镜像和其它工件。资源最多只能由一个任务输出,任何以该资源为输入的任务都将在输出任务之后运行。这使得定义依赖项和对任务序列进行排序变得容易。在此示例中,我们定义了git资源“helloworld-git”。它将为“simple_docker”任务所使用,用于构建docker镜像“helloworld”。
最后是导入(Resources)。我们的Dispatch Catalog包含用于重复使用各种starlark函数的语法,它能使您的Dispatch文件变小并让您专注于实际的测试内容。在此示例中,我们导入"gitResource"以将git存储库声明为可作为输入发送给任务的资源。然后,再导入“pullRequest”以声明一个条件,以便在每次拉取请求更新时触发构建。此外,我们还需要导入"kaniko"来构建和发布 Docker 镜像。
更多关于学习方面的指导,您可以阅读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授权开发人员参与生命周期的运维,所以您现在有了一座桥梁,使开发人员能了解并进行运维协作,从而改进产品质量、客户体验和随叫随到的服务。运维人员可以对生产状态感到更有信心,因为他们可以验证所推送的内容、定义接受标准并保护用户的数据。当开发和运维人员共享生产成功时,产品的整体质量就会提高。
更好地合作
Dispatch的DSL和本地GitOps工作流的结合是解锁开发人员工作效率的关键。通过为开发人员提供熟悉的语言,他们可以快速创建pipeline、在本地进行测试、推送到Dispatch以进行构建、测试并将其推广到生产中。这节省了用于了解构建配置、通过测试和与维护生产运维所浪费的无数周期。将生产作为配置文件的一种状态来实现,可以使生产变得不那么神秘,并使开发和运维人员更好地合作。
欢迎点击“阅读原文”申请Dispatch免费试用。
D2iQ云原生夏令营
初阶主题:解构IT现代化, 加速数字化转型落地
D2iQ为期3个月的云原生线上培训课程报名正式启动!
如果您还在被花样百出的技术概念所迷惑,不清楚如何开启数字化转型,请您扫码报名您感兴趣的课程。
W E B I N A R
D2iQ云原生夏令营
7月1日(周三) 下午14:00-15:00
内容大纲
解读IT技术演变,发展路径
大型机,X86,虚拟化,容器化和云原生
业务驱动,技术动力。如何理解技术演进趋势?
如何寻找适合自己的技术之路?
从“零”开始技术选型
如何理解开源和IT生态对业务的影响?
现代IT其实没那么难
W E B I N A R
D2iQ云原生夏令营****
7月8日(周三) 下午14:00-15:00
内容大纲
从被动到主动:新一代信息技术主要特点
从被动到主动:利用IT推动企业业务转型与创新
从被动到主动:创新业务的快速发展对IT的推动
传统IT架构的解决方案 - 业务技术架构
传统IT架构的解决方案 - 企业数据
现代IT架构的解决方案 - 业务技术架构
现代IT架构的解决方案 - 企业数据
现代IT可以很简单
W E B I N A R
D2iQ云原生夏令营****
7月15日(周三) 下午14:00-15:00
内容大纲
什么是云原生
云原生发展,过去,现在和未来
云原生与云计算的那些事
1)云原生IaaS能力
2)云原生PaaS能力
3)云原生对SaaS的影响
云原生专项解决方案
1)数据技术解决方案
2)DevOps与微服务解决方案
3)人工智能解决方案
W E B I N A R
D2iQ云原生夏令营****
7月22日(周三) 下午14:00-15:00
内容大纲
什么是新基建
新基建,大机遇
企业数字化转型的雷区
5G 能够带来什么
AI 有效发掘数据的价值
数据驱动急需新型IT模式
跨云平台建设是必需品
数字化转型,生态是关键
更多精彩课程,敬请期待!
惊喜礼品
每期课程的第2、第20、第200个报名观众,我们将为您送上神秘大礼包!
每期课程结束后,填写调查问卷,即可获取D2iQ定制笔记本。
定制笔记本
参与分享结束后的Q&A问答环节,即可获得D2iQ定制T-shirt。
定制T-shirt
往期精彩文章
关于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强、中国联通、三一重工、一汽集团等全球知名企业提供云原生创新解决方案。
欢迎点击“阅读原文”获取90天免费试用
本文分享自微信公众号 - D2iQ(d2iq_apac)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。