更新时间:2024-06-28 GMT+08:00

什么是流水线

流水线(CodeArts Pipeline)提供可视化、可编排的CI/CD持续交付软件生产线,帮助企业快速转型,实现DevOps持续交付高效自动化,缩短应用TTM(Time to Market)交付周期,提升研发效率。

流水线本质上是一个可视化的自动化任务调度平台,需要配合软件开发生产线中编译构建、代码检查、测试计划、部署等服务的自动化任务使用。根据用户需要的场景,如开发测试环境应用部署、生产环境应用部署等,对这些自动化任务进行自定义编排,一次配置后就可以一键自动化触发调度执行,避免频繁低效的手工操作。

流水线服务包括以下特性:

  • 流水线任务的可视化增删改查。
  • 基于账号-角色-流水线操作的权限控制。
  • 支持构建、代码检查、子流水线、仓库管理、部署、扩展类型、延时执行、人工审核、接口测试等多种任务类型纳管调度。
  • 支持自定义增删改查流水线阶段。
  • 支持流水线阶段中纳管任务的串/并行执行配置。
  • 支持设置流水线自定义参数。
  • 支持选定流水线部分任务执行。
  • 支持查看流水线历史执行记录。
  • 支持配置执行计划:包括事件触发(代码提交、合并请求、创建标签)和定时执行两种自动触发执行策略。
  • 支持流水线事件消息通知及邮件通知。
  • 支持自定义插件以扩展流水线执行功能。
  • 支持创建规则、策略以实现流水线准出条件的统一管控。
  • 支持基于微服务的DevOps轻量变更模式。
  • 支持基于源码的开源依赖解析和漏洞拦截能力。

什么是规则/策略?

流水线提供基于规则和策略的流水线阶段准出条件管理能力。用户可基于插件创建合适的规则,设置插件输出的阈值比较条件,并在策略中进行引用,最终配置到流水线准出条件中进行应用。策略是规则的集合,流水线服务支持租户/项目分层策略管理,助力高效项目管理,保障产品交付质量。

什么是扩展插件?

流水线内置了一系列常用的插件,供用户在流水线进行编排时使用。同时支持插件自定义能力,业务团队开发者可根据自己业务自定义开发流水线插件,以扩展流水线自动化调度能力覆盖的业务范围。

什么是微服务?

微服务是一种软件治理架构,一个大型的复杂软件项目,可以由一个或多个微服务组成,系统中各个微服务之间是松耦合的,各微服务并行独立开发、构建、验证及部署上线。微服务具备以下优点:

  • 边界清晰:每一个微服务只关注一个特定的业务功能,开发和维护单个微服务都相对简单。
  • 支持独立部署:单个微服务独立部署更新,不会对整个业务运行造成影响,保证业务7*24小时在线。
  • 技术多样化:微服务可以使用不同的技术栈来实现,不同服务之间通过restful API通信,每个服务可以使用不同的技术框架和不同的存储库来实现。

什么是变更?

变更是一次研发交付活动的载体,项目的需求研发和漏洞修复都可以放在变更上来实现,一个变更只能属于一个微服务。

变更有自己的发布生命周期:开发中 > 待发布 > 发布中 > 已发布。微服务可以通过变更流水线发布一个或多个变更来实现项目的快速交付。同时,变更作为研发交付的载体,可以在变更上添加准出条件、人工审核等流程来控制变更的质量。

什么是发布管理?

发布管理(CodeArts Release)是CodeArts提供的版本配套、自动化部署上线的E2E解决方案,支撑产品的版本级持续交付。构筑版本配套、版本质量溯源等能力,保证版本配套质量。打造发布协同审批、发布决策等策略合规能力,保证发布流程标准化。

发布管理服务包括以下特性:

  • 提供面向解决方案版本基线管理能力,支持微服务、模块级、产品级多维度版本编排,支持多云版本配套。
  • 云原生微服务发布管理能力,支持微服务灰度编排发布能力,支持蓝绿、金丝雀等灰度发布策略,基于UCS实现跨云编排。