新建流水线¶
本文章介绍应用开发人员如何为产品或应用新建流水线、配置流水线阶段和任务。
新建应用流水线¶
前提条件¶
在新建流水线之前,需要完成应用创建和基本信息配置。详细步骤,参见 新建应用。
配置流水线基础信息¶
通过以下步骤为应用新建流水线:
在项目列表中,点击项目名称,进入项目空间。
在左侧导航栏中,选择 研发 > 流水线。
点击 新建流水线,并在 基础信息 一栏中,完成流水线的基础配置信息:
应用/产品:从已创建应用列表中,选择为目标应用创建流水线
流水线名称:输入流水线的名称
语言/版本:选择开发应用使用的语言以及对应版本
工具:选择语言需要依赖的工具,如 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。
配置完成之后,点击 新建流水线 按钮,保存流水线配置。
后续操作¶
流水线创建完成后,可运行流水线,并查看流水线运行状态和结果。