新建流水线¶
本文章介绍应用开发人员如何为应用新建流水线、配置流水线阶段和任务。
前提条件¶
在新建流水线之前,需要完成应用创建和基本信息配置。详细步骤,参见新建应用。
配置流水线基础信息¶
通过以下步骤为应用新建流水线:
在项目列表中,点击项目名称,进入项目空间。
在左侧导航栏中,选择 研发 > 流水线。
点击 新建流水线,并在 基础信息 一栏中,提供流水线的基础配置信息:
应用名称:从已创建应用列表中,选择为哪一个应用创建流水线
流水线名称:输入创建流水线的名称
是否部署:选择流水线是否需要部署功能,若需部署则相应地选择部署环境。
语言/版本:选择开发应用使用的语言以及对应版本
工具:选择语言需要依赖的工具,如Java需要依赖Maven
仓库地址:根据选择的应用,自动填入应用所在的仓库地址
触发设置:选择触发流水线运行的方式:
自动触发:当指定的Gitlab仓库分支发生变化时,运行流水线
手动触发:手动选择Gitlab仓库分支,并运行流水线
定时触发:在设定时间定时运行流水线
仓库分支:当触发设置为自动触发或定时触发时,选择运行流水线的Gitlab仓库分支
触发时间:当触发设置为定时触发时,选择运行流水线的具体时间。
完成基础信息配置后,在 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目录。
部署
任务名称:输入部署任务的名称
集群:选择部署应用的集群
部署类型:选择部署类型,可选Deployment或StatefulSet
部署名称:选择应用的部署配置名称(参见配置Deployment)
代码扫描
任务名称:输入代码扫描任务的名称
待扫描代码:输入需要扫描的文件路径,如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进行代码扫描。
发布依赖包
任务名称:输入任务的名称
构建路径:输入pom文件所在的路径,如share,默认为项目根路径
参数:Java默认命令为mvn deploy,可添加参数,如-DskipTests;npm默认命令为npm publish,可添加参数,如–access=public
Jenkins任务
任务名称:输入Jenkins任务的名称
Jenkins URL:输入Jenkins服务地址,如:http://jenkins-ci.envisioncn.com:8080/jenkins
User Name:输入Jenkins用户名
API Token:输入Jenkins用户名所生成的API Token
任务名:输入Jenkins job名称
Jenkins参数:输入需要的Jenkins参数
自定义任务
任务名称:输入自定义的任务的名称
Shell脚本路径:输入需要执行的脚本的路径
点击并拖动任务,可以对任务进行排序。
阶段内的任务配置完成后,点击 添加Stage,重复以上步骤,添加流水线的第二个阶段。
阶段配置完成之后,点击 新建流水线 按钮,保存流水线配置。
后续操作¶
流水线创建完成后,可运行流水线,并查看流水线运行状态和结果。