写点什么

如何以可组合块的方式重构 CI/CD 管道

  • 2020-04-18
  • 本文字数:1065 字

    阅读完需:约 3 分钟

如何以可组合块的方式重构CI/CD管道

DeliveryConf大会上,VMware 主管工程师Bryan Liles讨论了构建持续集成交付(CI/CD)管道的一系列原则。Liles 建议,应将 CI/CD 视为模式而非 Jenkins 或 Spinnaker 这样的具体实现;需要构建一种平台,它由独立于技术堆栈的可组合部分和可替换组件构成。


演讲一开始,Liles 介绍了会有多少企业按照传统的方式构建 CI/CD 管道,并阐明建立此类管道的目的是实现应用从开发环境到生产环境的迁移。交付过程在本质上就是从源代码管理方获取应用的代码,进而在管道中编译应用,形成工件并打包(bundle)存储在仓库中。最后,管道将打包文件交付给各个环境,例如开发、测试和生产。Liles 指出,如果交付管道看上去非常复杂,那么这意味着技术栈不应该再继续复杂下去了。


在 Liles 看来,工程人员应该将部署管道看成是一些可组合的块和模式,而非仅注重实际使用的 Jenkins 或 Spinnaker 等具体实现。例如,管道中的一部分可以是完成应用构建、运行测试和创建工件的集成块,该部分可以使用 Jenkins 实现,但也支持使用 Circle CI 等其他工具。管道中的另一个块可以部署应用、征求批准和执行数据迁移的交付过程。集成和交付块都具有一些相同的基本组件,例如 Webhook 触发器、工作流、通知和批准等。集成块和交付块是部署管道这一更大的可组合部分中的一部分。



Liles 提出:“必须更多地考虑系统的可组合性。”部署管道应该是一种将应用交付至指定目的地的应用发布“平台即服务”(PaaS)。Liles 建议将部署管道重新定义为可组合的 PaaS,工程人员可轻易更改其中的各个组件。该模式的典型例子就是 Kubernetes。作为构建平台的平台,部署管道可基于 Kubernetes 实现与上述集成块和交付块一样的基本组件,同时支持使用其它各种不同的工具。例如,集成部分可以使用TektonArgo实现触发器、工作流、通知和批准块。


Liles 进而指出,Jenkins、Spinnaker 或 ConcourseCI 之类的工具可用于定义如何构建 CI/CD 管道以及如何使用它们,但应在使用中汲取前车之鉴,避免入坑。由此,他建议应以破旧立新的思维去利用工具:


我们确实需要换种思维去使用各种工具。技术现状驱动我们到达了当前的位置,但这并非我们所需要的高度。我们应该拓展思维,破旧立新。


Liles 最后总结道,工具本身是复杂的,但从生态系统角度看,我们应致力于去构建更小且可组合的工具集。他建议工程人员琢磨一下如何共同改进生态系统,而不是沉溺于如何在现有工具上锦上添花。他认为自己提出的构建方式仅是抛砖引玉,“关注点应是更多地考虑系统中的可组合性。”


原文链接:


Reimagining CI/CD Pipelines as Composable Blocks with Bryan Liles


2020-04-18 09:001991

评论

发布
暂无评论
发现更多内容

苏宁商品详情API秘籍!轻松获取商品详情数据

Datafox(数据狐)

苏宁商品数据采集 苏宁API 苏宁商品详情API

veRL CollabLLM recipe: 奖励全局最优,训练出善于对话的协作型 LLM

火山引擎开发者社区

LLM LLMs

MyEMS:用开源撕开能源管理 “黑箱”,让节能不再 “凭感觉”

开源能源管理系统

开源 能源管理系统

NocoBase 本周更新汇总:优化及缺陷修复

NocoBase

开源 低代码 无代码 版本更新

游戏 NFT开发的技术框架

北京木奇移动技术有限公司

游戏开发 软件外包公司 游戏NFT

亚马逊商品列表API秘籍!轻松获取商品列表数据

Datafox(数据狐)

亚马逊API 亚马逊商品数据采集 亚马商品列表API

如果时间不够,无法进行充分的测试怎么办?

禅道项目管理

程序员 软件测试 测试 自动化测试 禅道项目管理软件

2025年TOP 5国外社交媒体监控平台深度评测与对比

沃观Wovision

社媒监测 沃观Wovision 舆情监测系统 社交媒体监控 海外社交媒体监控

超越基础:SightAI 智能路由与多模型选择实战

SightAI

MaaS API 调试 人工智能、 大模型、

观测云产品更新 | 监控、场景图表、查看器、管理、LLM 监测等

观测云

产品迭代

ChatGPT如何实现聊天一样的实时交互?快速读懂SSE实时“推”技术

JackJiang

网络编程 即时通讯 IM

大数据-133 ClickHouse 概念与基础|为什么快?列式 + 向量化 + MergeTree 对比

武子康

Java nosql 大数据 分布式 Clickhouse

怎么找准达索授权的代理商?达索官方认证代理商推荐

思茂信息

abaqus abaqus软件 abaqus有限元仿真

从 “被动耗能” 到 “主动管控”:MyEMS 如何重构企业能源管理逻辑?

开源能源管理系统

开源 开源能源管理系统

你的竞争对手都在用国外社交媒体监控工具获取什么?揭秘他们的监控策略

沃观Wovision

沃观Wovision 舆情监测系统 海外舆情监测 社交媒体监控 海外社交媒体监控

YashanDB数据库故障诊断与快速恢复流程详解

数据库砖家

GSoC 成果公布!印度开发者为 DolphinScheduler 引入通用 OIDC 认证,实现无缝安全访问

白鲸开源

大数据 开源 Apache DolphinScheduler OIDC 安全认证

7大国外社交媒体监控平台功能全对比

沃观Wovision

沃观Wovision 舆情监测系统 海外舆情监测 社交媒体监控 海外社交媒体监控

财务自动化3.0时代,谁能真正做到ERP到银行的无缝闭环?

Techinsight

AI数据处理和质量测评系统:给AI喂“干净粮食”的智能厨师

上海拔俗

YashanDB数据库缓存机制优化企业应用响应速度的秘诀

数据库砖家

游戏 NFT 的开发流程

北京木奇移动技术有限公司

游戏开发 区块链开发 软件外包公司

YashanDB数据库故障排查与性能调优实用方法

数据库砖家

YashanDB数据库故障诊断与性能监控的关键技术剖析

数据库砖家

MyEMS 是什么?一文读懂企业能源管理系统的核心定位与应用场景

开源能源管理系统

开源 开源能源管理系统

代理IP在Tik Tok中的三大妙用!

kookeey代理严选

数据采集 代理IP TikTok 住宅ip Tiktok shop

AI仓储物流管理平台:让仓库拥有“会思考的大脑”

上海拔俗

RFID标签在高温环境下的可靠性测试方法

斯科信息

RFID技术 RFID标签

AI质量检测系统:为智能世界装上“火眼金睛”

上海拔俗

AI 智能体热潮退潮后:RPA 为何成了技术落地的 “压舱石”?

Techinsight

如何以可组合块的方式重构CI/CD管道_软件工程_Christian Melendez_InfoQ精选文章