流水线早已 out 了?你需要更高效能的工作流
在快节奏的 DevOps 世界里,流水线 和 工作流 常常被混为一谈,但真相是,它们在实现软件快速、高效交付的过程中扮演着截然不同的角色。Jenkins 在新建 Pipeline 时的描述,无意中揭示了这一混淆:“Pipeline Orchestrates long-running activities... Suitable for building pipelines (formerly known as workflows)... ” 这让我们不禁思考,Zadig 为何坚持使用“工作流”这一称呼。今天,我们将揭开这背后的奥秘。
流水线,作为工业时代的象征,以其无可匹敌的效率和精准度彻底改变了生产方式。然而,《百年流水线的前世今生》一文提醒我们,“过度自动化是一个错误,人类被低估了”。这不仅是对过去的反思,也是对未来的启示。在 DevOps 领域,我们同样面临着如何实现“人机融合”的挑战,以保持生产流程的弹性和适应性。
在这一背景下,Zadig 工作流应运而生。它不仅保留了流水线的自动化优点,还通过可视化编辑器,让用户能够轻松在工作流中添加人工处理步骤,满足 DevOps 对自动化和人工卡点的双重需求,保障软件迭代更顺畅、质量更高。
工作流 Vs. 流水线
在 DevOps 领域,流水线和工作流的概念有何不同?
1. 工作流(Workflow) :
- 定义:工作流是一系列相互关联的任务和活动的集合,旨在实现特定的业务目标。在 DevOps 中,工作流通常涵盖了从需求分析、设计、开发、测试、部署到运维的整个软件开发生命周期。
- 特点:工作流强调各团队之间的协作,其中既包含自动化任务,也存在需要人工参与完成的任务。
2. 流水线(Pipeline) :
- 定义:流水线是一种自动化的流程,用于将软件从开发阶段逐步推进到部署阶段。它通常由一系列连续的任务组成,每个任务执行特定的操作,如代码编译、测试、打包和部署等。
- 特点:流水线中的任务具有自动化、可重复性,并且是按照线性顺序执行的。
其实 Zadig 从一开始就实现了工作流,并兼顾了流水线的能力。它关注软件开发的整个生命周期,致力于实现从代码到生产发布的全过程。这涉及到开发、测试、运维等多个团队的交互与协作,且能依据项目实际情况灵活调整流程。
Zadig 工作流的演进
Zadig 的第一代工作流引擎「产品工作流」以其极简的配置和全流程自动化编排能力赢得了用户的广泛好评。然而,面对日益复杂的用户场景,需要更多的能力编排,例如配置、数据、任务项变更等,原有的工作流模式在扩展性上显得力不从心。为了解决这一挑战,Zadig 第二代工作流引擎应运而生,它在设计上采用了创新的横纵结合策略。
在横向上,第二代引擎增强了工作流的串联能力,使得人机协同更加顺畅。在纵向上,它扩展了任务类型,允许更多的工具和功能集成。这种设计不仅提升了自动化任务的执行效率,更重要的是,它为流水线中的人工介入提供了更为友好的接口和机制。这种改进确保了在流水线需要人工调整时,用户可以灵活地进行必要的干预,从而显著提高了流水线的适应性和可控性。
第一代产品工作流
第二代工作流引擎
Zadig 工作流能力介绍
Zadig 工作流支持并行构建、部署、测试,提升代码验证效率,内置 40 +个官方任务类型,满足通用的工程交付流程自动化场景。通过自定义任务的开发,支持与外部系统对接,包括企业自建系统和第三方系统,以满足企业特异化流程编排。
目前,Zadig 针对不同协作场景提供了以下几个人工介入点:
- 审批:在生产发布过程中,需要开发、测试、运维和安全等部门负责人审核确认后才能上线,防止潜在问题,确保所有发布符合企业规范。
- 阶段手动执行:在自动化任务继续前,可以指定执行人,并在执行时重新输入执行参数,提供灵活性,应对复杂情况。
- 任务失败策略:自动化任务失败时,可以选择自动忽略、重试或人工介入确认是否继续执行,保障流程连续性,及时干预错误。
人工审批
Zadig 工作流具备人工审批功能,工作流会暂停并等待审批通过才能继续。目前,Zadig 支持系统内审批以及与飞书、钉钉、企业微信等平台的集成审批。具体如何配置和使用参考官方文档。这样,团队可以根据习惯选择合适的审批方式,确保工作流的顺利执行。
阶段手动执行
阶段支持两种方式执行方式:「自动」和「手动」,在手动执行模式下,用户可以指定具体人员来负责执行任务,还可以在执行阶段重新输入或调整任务的参数。这样使得工作流在保持自动化带来的高效率的同时,也能适应那些需要人工决策和干预的复杂情况。
任务失败策略
Zadig 工作流任务支持更为精细的失败策略配置,其中包括了一项重要的介入策略——「人工确认」。这一策略的设计宗旨是在任务遇到失败时,提供一个决策点,要求操作者介入并做出判断:是选择忽略当前任务的失败并继续执行后续步骤,还是决定停止整个工作流的执行。确保在面对意外情况时,能够根据实际情况做出最合适的决策,从而有效平衡自动化效率与人工干预的必要性。
通过这些人工介入点的设计,Zadig 工作流提高了灵活性和适应性,确保在关键决策点引入必要的人工判断和干预,助力团队高效协作,保障软件发布质量和安全。
即日起,Zadig 新版发布
扫码咨询抢先体验

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
LF开源软件学园 RISC-V教育合作伙伴召集中
引言 在这个科技迅猛发展的时代,开源软件和硬件的应用已经上升为中国的国家战略,成为推动全球技术创新的关键力量。RISC-V技术,以其开放的指令集架构,在开源芯片领域扮演着至关重要的角色,正在重塑教育和职业的未来,成为全球创新的新引擎。 LFOSSA(LF开源软件学园)作为Linux基金会培训和认证在中国的官方平台,我们肩负着推动开源技术教育和培训的使命,帮助个人和企业深化对开源技术的理解,并促进其在各行各业的应用。我们坚信,将RISC-V技术融入教育,不仅能够从小培养学生的创造力和解决问题的能力,更是培养未来技术领导者的强大动力。 RISC-V技术的优势与市场趋势 RISC-V技术以其开放的指令集架构,正在成为全球技术创新的新引擎,也天然具备了诸多优势: 1)开放性:RISC-V作为一个开放的指令集架构,允许任何人自由使用和修改。这种开放性不仅降低了技术门槛,还促进了教育和创新的灵活性。这种开放性为教育提供了丰富的资源和灵活性,使学生能够在真实的开发环境中学习。 2)全球社区支持:RISC-V的全球社区支持,意味着参与者可以共享知识和经验,促进技术的快速发展和应用。参与者可以共享知...
- 下一篇
图片压缩转换工具 springbok 0.3.3 版本发布
springbok提供了压缩与转换图片格式的功能,支持png与jpeg的压缩,以及转换为对应webp与avif,当前已提供构建好的三大基本系统:windows,linux以及macos。使用非常简单拖动图片至程序区域后即可自动压缩图片,最后一列差异值是基于人眼分辨的压缩前后图片比对,若比对的值大于1则可能图片质量较差,可选择恢复原图。 webp暂时仅支持无损压缩版本,因此暂不建议勾选jpeg -> webp 差异值使用dssim比较压缩前后图片人类视觉上的差异,一般小于1的则无明显差别 webp与avif均是通过png或jepg转换得出,转换后保存在与原图片同一层目录 源代码基于 Apache-2.0 开源,可查阅源码库:https://github.com/vicanso/springbok
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- 2048小游戏-低调大师作品
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2更换Tomcat为Jetty,小型站点的福音