全部产品
云市场

流水线(Pipeline)

更新时间:2019-09-10 18:32:23

本文阐述 Pipeline(持续集成流水线)的作用,介绍 Pipeline 的触发方式、相关操作及 CI 配置。

什么是 Pipeline

研发效能平台通过 Pipeline 来编排持续集成。

例如,研发人员提交了一次代码后,一条典型的 Pipeline 会帮助开发人员完成以下任务:

  1. 代码扫描(PMD/FindBugs/STC)
  2. 编译
  3. 部署
  4. 集成测试

以上的这些任务按照一定顺序执行,并且在一定条件下被触发。例如部署不可能在编译之前执行,直接在迭代中 Push 了代码到项目分支或针对项目分支提交了 MR 则会触发 Pipeline。

Pipeline 的触发方式

自动触发

代码提交会自动触发 Pipeline,代码提交包括:

  • 提交 MR 到项目分支
  • 直接 Push 代码到项目分支

    研发效能平台支持提交 MR 和直接 Push 两种模式。平台默认支持 MR 模式。在新建迭代拉流后,系统会自动锁定项目分支,阻止直接 Push 代码到项目分支。如果需要支持 Push 模式,则需要在应用元数据中进行设置(仅应用 Owner 和架构师有权限修改)。

    锁定项目分支

  • 提交主干代码:如果在应用进入到集成阶段后,需要修改主干代码,只能通过 MR 模式向主干提交。

手动触发

可以在配置变更完成后和其他需要的时机手动触发 Pipeline。

Pipeline 的操作

取消和重新执行

  • 取消

    可随时取消执行中的 Pipeline。

  • 重新执行

    可重新执行处于暂停状态或者失败状态的 Pipeline。

跳过组件

如果 Pipeline 组件执行失败,您可以临时跳过该组件,继续执行后续组件。

鼠标悬停在 Pipeline 组件上方,点击弹出的 跳过 链接即可。
skip

Pipeline 相关的 CI 配置

Pipeline 在执行的过程中依赖一些 CI(持续集成)配置,这些配置不同于发布时的配置,仅用于 CI 阶段。例如,运行测试用例时的 MVN 版本,统计 PMD 及覆盖率问题时的排除类,部署开发服务器时是否打开调试端口。这些配置都可以在迭代详情页面的 配置变更 > CI 配置 中修改。