流程配置

本文主要介绍流水线阶段、任务、步骤的编排,帮助自定义组织自己的CI/CD流程。

通过流水线流程配置组织可以自定义自己的CI/CD流程,将构建、部署、测试、管控等组件化能力进行编排和串联,完成从开发到上线过程的自动化流程。

Flow 流水线提供以下编排能力:

  • 阶段:在流水线中需要按顺序执行的一组任务的集合,阶段可以是手动运行也可以是自动运行,阶段之间串行执行。

  • 任务:在阶段中具体需要完成的动作,任务之间可以串行执行也可以并行执行,目前任务包括:代码扫描、单元测试、构建、部署、合并代码、人工审核等功能。

  • 步骤:步骤作为 Flow 最底层的核心能力,所有的流水线都是通过步骤的编排组合而成的。

阶段编排

  1. 在流水线编排页面,单击+可以添加阶段。单击打开选择任务组面板,通过选择任务模板,可以快速创建当前阶段任务。

  2. 任务新建后,单击任务卡片,可以通过任务面板进行任务配置。

image

任务编排

添加并行任务

在流水线编辑页面,鼠标移动到一个阶段会出现+并行任务按钮,单击打开选择任务组面板,选择合适的任务组模板,即可完成并行任务的添加。

image

添加串行任务

在流水线编辑页面,鼠标移动到一个任务会出现+,可以在该任务的前后添加串行任务,单击打开选择任务组面板,选择合适的任务组模板,即可完成串行任务的添加。

image

步骤编排

在流水线编辑页面,单击任务打开任务编辑面板,单击添加步骤可以按需添加步骤完成指定任务。

image

云效 Flow 流水线支持的步骤如下:

步骤分类

步骤

静态扫描

  • 安卓代码扫描

  • Cpp 代码扫描

  • Golang 代码扫描

  • Java 安全扫描

  • JavaScript 代码扫描

  • Java 代码规约扫描

  • PHP Metrics 静态扫描

  • 源码漏洞检测

  • Python 代码安全扫描

  • Python 依赖安全扫描

  • Python 代码扫描

  • SonarQube

  • TypeScript代码扫描

测试

  • Android 单元测试

  • PHP Codeception 单元测试

  • Golang 单元测试

  • Gradle 单元测试

  • Maven 单元测试

  • Junit报告解析

  • Node.js 单元测试

  • PHP Unit 单元测试

  • Python 单元测试

构建

  • ASP.NET 构建

  • 构建缓存

  • 获取 Git 版本

  • 自定义环境构建

  • 镜像构建并推送至自定义镜像仓库

  • 镜像构建并推送至阿里云镜像仓库组织版

  • 镜像构建并推送至阿里云镜像仓库个人版

  • .NET Core 构建

  • 执行命令

  • Chart上传自定义仓库

  • GCC 构建

  • Golang 构建

  • Java 构建

  • Node.js 构建

  • PHP 构建

  • Python 构建

  • Ruby 构建

  • Rust 构建

  • Serverless Devs

代码

  • 检测是否落后于指定分支

  • 删除分支

  • 代码合并

  • Git 标签

覆盖率

  • Cobertura 覆盖率采集

  • JaCoCo 覆盖率采集

  • Python 测试覆盖率采集

工具

  • ECS标签值切换

  • 替换文件中的环境变量

  • OSS删除

  • 设置变量

发布

  • 阿里函数计算部署

  • Helm Release

  • Kubectl 发布

  • Kubectl镜像升级

  • ROS 发布

上传

  • 报告上传

  • OSS 上传

  • 构建物上传(EDAS/SAE使用)

  • 构建物上传

下载

  • OSS下载

自定义步骤

通过Flow-CLI工具自定义组织步骤