新建流水线¶
本文章介绍应用开发人员如何为产品或应用新建流水线、配置流水线阶段和任务。
新建应用流水线¶
前提条件¶
在新建流水线之前,需要完成应用创建和基本信息配置。详细步骤,参见 新建应用。
配置流水线基础信息¶
通过以下步骤为应用新建流水线:
- 在项目列表中,点击项目名称,进入项目空间。 
- 在左侧导航栏中,选择 研发 > 流水线。 
- 点击 新建流水线,并在 基础信息 一栏中,完成流水线的基础配置信息: - 应用/产品:从已创建应用列表中,选择为目标应用创建流水线 
- 流水线名称:输入流水线的名称 
- 语言/版本:选择开发应用使用的语言以及对应版本 
- 工具:选择语言需要依赖的工具,如 Java 需要依赖 Maven 
- 仓库地址:根据选择的应用,自动填入应用代码的仓库地址 
- 触发设置:选择触发流水线运行的方式: - 自动触发:当指定的 Git 仓库分支发生变化时,运行流水线 
- 手动触发:手动选择 Git 仓库分支,并运行流水线 
- 定时触发:在设定时间定时运行流水线 
 
- 仓库分支:当触发设置为自动触发或定时触发时,选择运行流水线的 Git 仓库分支 
- 触发时间:当触发设置为定时触发时,选择运行流水线的具体时间。   
 
- 完成基础信息配置后,在 Stage 一栏中,点击 添加 Stage,配置流水线的阶段和任务。 
配置阶段和任务¶
通过以下步骤配置流水线的阶段和任务:
- 阶段名称:输入 Stage 的名称。 
- 点击 添加任务 按钮,选择任务类型,并输入相应的参数。 - 构建 - 任务名称:输入构建任务的名称 
- 超时时间:输入任务运行超时时间 
- Docker 文件路径:输入 Dockerfile 存放路径,如 docker/Dockerfile,默认为项目根路径 
- Docker 镜像仓库:选择镜像仓库 
 
 - 备注 - 构建任务会判断是否存在 build.sh,若存在,则自动执行 build.sh;若不存在,则判断是否存在 pom.xml,若存在,则执行 mvn clean package -U -DskipTests 命令。使用自定义 build.sh 进行构建时需要将构建结果如 war/tar/jar/zip 包等的存放位置设置为项目根目录下的 target 目录。 - 代码扫描 - 任务名称:输入代码扫描任务的名称 
- 超时时间:输入任务运行超时时间 
- 待扫描代码:输入需要扫描的文件路径,如 src/main/java,src/main/java/utils/Test.java 
- 排除文件:输入无需扫描的文件路径,如 src/main/java/*,src/main/java/**/*,src/main/java/utils/Test.java 
- 单元测试:选择是否进行单元测试,如需进行单元测试,则输入测试文件的路径,如 src/test 
 
 - 备注 - 代码扫描任务会判断是否存在 build.sh,若存在,则自动执行 build.sh;若不存在,则判断是否存在 pom.xml,若存在,则执行 mvn clean compile -DskipTests命令。编程语言为 Java 时,会判断是否存在 sonar-project.properties 文件,若存在,则使用 sonar-scanner 完成代码扫描;若不存在,则使用 mvn sonar:sonar 进行代码扫描。其他编程语言如 Node.js,则默认使用 sonar-scanner 进行代码扫描。 - 部署 - 任务名称:输入部署任务的名称 
- 超时时间:输入任务运行超时时间 
- 集群:选择部署应用的集群 
- 资源类型:选择部署资源类型,可选 Deployment 或 StatefulSet 
- 资源名称:选择应用的部署资源名称(参见 配置Deployment) 
 
- 发布依赖包 - 任务名称:输入任务的名称 
- 构建路径:输入pom文件所在的路径,如 share,默认为项目根路径 
- 参数:Java 默认命令为 mvn deploy,可添加参数,如 -DskipTests;npm 默认命令为 npm publish,可添加参数,如 –access=public 
 
- Jenkins任务 - 任务名称:输入 Jenkins 任务的名称 
- 超时时间:输入任务运行超时时间 
- Jenkins URL:输入 Jenkins 服务地址,如:http://jenkins-ci.envisioncn.com:8080/jenkins 
- Username:输入 Jenkins 用户名 
- API Token:输入 Jenkins 用户名所生成的 API Token 
- 任务名:输入 Jenkins job 名称 
- Jenkins 参数:输入需要的 Jenkins 参数 
 
- 自定义任务 - 任务名称:输入自定义的任务的名称 
- Shell 脚本路径:输入需要执行的脚本的路径 
 
 
- 点击并拖动任务,可以对任务运行进行排序。   
- 阶段内的任务配置完成后,点击 添加Stage,重复以上步骤,添加流水线的第二个阶段。 
- 阶段配置完成之后,点击 新建流水线 按钮,保存流水线配置。 
新建产品流水线¶
产品级流水线用于一个产品下多个应用打包成一个 Chart 用于之后通过 Helm 部署。支持的任务类型:Chart 生成。
前提条件¶
在新建流水线之前,需要完成产品与应用创建和基本信息配置。详细步骤,参见 新建产品 与 新建应用。
备注
仅支持 Common 类型的产品,且产品下需关联至少一个应用。
配置流水线基础信息¶
通过以下步骤为产品新建流水线:
- 在项目列表中,点击项目名称,进入项目空间。 
- 在左侧导航栏中,选择 研发 > 流水线。 
- 点击 新建流水线,并在 基础信息 一栏中,完成流水线的基础配置信息: - 应用/产品:从已创建产品列表中,选择为目标产品创建流水线 
- 流水线名称:输入流水线的名称   
 
- 完成基础信息配置后,在 Stage 一栏中,点击 添加 Stage,配置流水线的阶段和任务。 
配置阶段和任务¶
通过以下步骤配置流水线的阶段和任务:
- 阶段名称:输入 Stage 的名称。 
- 点击 添加任务 按钮,选择任务类型,并输入相应的参数。 - Chart 生成 - 集群:选择流水线所使用环境与集群。 
- Chart 名称:输入Chart名称,默认为应用/产品名。 
- Chart 版本号:输入Chart版本号。 
- 应用版本号:输入应用版本号。 
 
 
- 点击 +SubChart 按钮,添加子 Chart。 - SubChart - 应用名称:选择产品关联的应用。 
- SubChart 名称:输入 SubChart 的应用,默认为应用名称。 
- SubChart 版本号:输入 SubChart 版本号,默认为 Chart 版本号。 
- SubChart 应用版本号:输入 SubChart 应用版本号,默认为应用版本号。 
 
 - 备注 - 需至少包括一个 SubChart。   
- 可点击 +SubChart 按钮,重复以上步骤,添加多个子 Chart。 
- 配置完成之后,点击 新建流水线 按钮,保存流水线配置。 
后续操作¶
流水线创建完成后,可运行流水线,并查看流水线运行状态和结果。