流水线 Flow提供了一站式Java
项目测试与构建解决方案,帮助您快速配置CI/CD流水线,并实现自动化测试、代码编译、依赖管理、构建产物上传等。本文为您介绍如何通过可视化界面配置Java · 测试、构建。
步骤一:新建测试构建流水线
登录流水线 Flow控制台,单击右上角新建流水线。
在弹出的选择流水线模板页面,选择Java · 测试、构建,并单击创建。
步骤二:配置流水线源
在新建流水线的流程配置中,单击流水线源阶段的添加流水线源。
添加您的代码源。本文使用云效预置的
Java
示例代码源,此处单击添加即可。
步骤三:配置测试构建
Java · 测试、构建模板预置了Java 代码扫描、Maven 单元测试和Java 构建上传。它们的配置基本类似,本文以Java 构建上传为例进行说明。
Java 构建上传配置详情
配置基本参数。
参数
说明
任务名称
您可自定义任务名称,一般保持默认即可。
构建集群
支持以下构建集群:
构建环境
支持以下构建环境:
指定容器环境(云效默认构建集群):流水线 Flow在构建机器上启动指定容器,在单容器环境进行构建。云效提供官方常用镜像供选择使用、您也可以指定自己的镜像作为运行环境。
默认VM环境(仅私有构建集群支持):须选择指定构建节点。流水线 Flow会直接在构建机器上安装环境并执行任务,为了提升任务构建速度建议提前在构建机器上安装好相应SDK和环境。
默认环境(云效默认构建集群/私有构建集群):流水线 Flow会根据任务类型默认使用不同的容器镜像,预装相应的SDK和环境,默认镜像不可修改(Deprecated)。
说明任务执行期间,流水线任务构建环境分配给用户使用,构建环境的使用权归属用户,任务执行脚本由用户自定义。
下载流水线源
开启下载流水线源后,您配置的源文件将会被下载至对应的工作目录下。支持以下三种方式:
下载全部流水线源
不下载流水线源
下载部分流水线源
配置任务步骤。
根据您选定的构建环境,选择以下对应参考配置。
指定容器环境/默认VM环境
配置 MavenSettings 文件
安装 Java
根据具体需求选择JDK版本、Maven版本。
执行命令
执行命令为用户自定义构建命令。支持多版本的Maven,命令执行目录为代码库根路径。
说明如何设置构建依赖下载访问凭证,请参阅设置依赖下载访问凭证。
构建物上传
选择以下上传方式并配置具体参数。
组织私有通用制品仓库(制品将上传Packages统一管理)
参数说明:
参数
说明
添加服务连接
单击添加服务连接,根据界面提示创建流水线 Flow到制品仓库 Packages的服务连接。更多信息,请参见服务连接管理。
仓库
添加服务连接后,可选择Packages中的通用制品仓库作为目标仓库。
说明关于通用制品仓库的更多信息,请参见通用制品管理
制品名称
用于区分多次构建产生的不同产出物,定义后在部署组件使用,建议使用动态变量形式设置。默认使用
Artifacts_${PIPELINE_ID}
。您可自定义构建物的名称(如target1
)。制品版本
版本用于唯一标识您的制品文件,因此同一制品不允许推送重复版本。建议使用动态变量形式,比如
${DATETIME}
。打包路径
设置起始位置为项目文件夹的相对路径(如
target/
),可以设置多个文件路径。制品中包含打包路径的目录
如果选中,则生成的压缩包中,包含完整的打包路径,否则仅包含文件。当选择了多个打包路径时,该值自动设置为
true
。配置示例:
归档至云效公共存储空间(供后续任务拉取并部署)
参数说明:
参数
说明
制品名称
用于区分多次构建产生的不同产出物,定义后在部署组件使用,建议使用动态变量形式设置。默认使用
Artifacts_${PIPELINE_ID}
。您可自定义构建物的名称(如target1
)。打包路径
设置起始位置为项目文件夹的相对路径(如
target/
),可以设置多个文件路径。制品中包含打包路径的目录
如果选中,则生成的压缩包中,包含完整的打包路径,否则仅包含文件。当选择了多个打包路径时,该值自动设置为
true
。配置示例:
默认环境
流水线模板中默认使用指定容器环境的任务步骤配置,切换到默认环境后,原有的任务步骤配置将失效,您需清空失效配置,并重新添加以下任务步骤。
Java 构建
在任务步骤中,依次选择
添加。您可根据需求选择JDK版本、Maven版本,并配置构建命令。说明构建命令为用户自定义构建命令。支持多版本的Maven,命令执行目录为代码库根路径。
如何设置构建依赖下载访问凭证,请参阅设置依赖下载访问凭证。
构建物上传
在任务步骤中,依次选择
添加。选择以下上传方式并配置具体参数。
组织私有通用制品仓库(制品将上传Packages统一管理)
参数说明:
参数
说明
添加服务连接
单击添加服务连接,根据界面提示创建流水线 Flow到制品仓库 Packages的服务连接。更多信息,请参见服务连接管理。
仓库
添加服务连接后,可选择Packages中的通用制品仓库作为目标仓库。
说明关于通用制品仓库的更多信息,请参见通用制品管理
制品名称
用于区分多次构建产生的不同产出物,定义后在部署组件使用,建议使用动态变量形式设置。默认使用
Artifacts_${PIPELINE_ID}
。您可自定义构建物的名称(如target1
)。制品版本
版本用于唯一标识您的制品文件,因此同一制品不允许推送重复版本。建议使用动态变量形式,比如
${DATETIME}
。打包路径
设置起始位置为项目文件夹的相对路径(如
target/
),可以设置多个文件路径。制品中包含打包路径的目录
如果选中,则生成的压缩包中,包含完整的打包路径,否则仅包含文件。当选择了多个打包路径时,该值自动设置为
true
。配置示例:
归档至云效公共存储空间(供后续任务拉取并部署)
参数说明:
参数
说明
制品名称
用于区分多次构建产生的不同产出物,定义后在部署组件使用,建议使用动态变量形式设置。默认使用
Artifacts_${PIPELINE_ID}
。您可自定义构建物的名称(如target1
)。打包路径
设置起始位置为项目文件夹的相对路径(如
target/
),可以设置多个文件路径。制品中包含打包路径的目录
如果选中,则生成的压缩包中,包含完整的打包路径,否则仅包含文件。当选择了多个打包路径时,该值自动设置为
true
。配置示例:
Java 代码扫描独有参数说明
参数 | 说明 |
开启增量扫描模式 | 未开启增量扫描模式时,将对全量代码进行扫描。 |
使用自定义规则目录 | 如果开启,将使用您代码库中的 |
规则集合 | 未开启使用自定义规则目录时,将使用默认规则。 |
子目录 | 需要扫描的代码所在目录,如果不设置则默认使用代码库的根路径。 |
排除子目录 | 需要被排除在扫描范围之外的目录或文件,可参考 |
红线信息 | 设定代码扫描成功判定的条件,支持从以下四个维度进行设置:
|
Maven 单元测试独有参数说明
参数 | 说明 |
执行命令 | 需自定义Maven单元测试命令。 |
测试报告文件路径 | 测试报告文件路径,必须指向一个文件。该文件所在目录中的所有内容都会被一起上传。例如 |
测试工具 | 选择测试工具/框架,例如 |
步骤四:运行并查看目标流水线任务
流程配置完成后,单击页面右上角保存并运行,并在弹出的对话框中单击运行,即可开始运行流水线任务。
流水线任务完成后,在每个任务节点都会生成运行日志,您可在相应任务节点,单击日志查看。例如查看Java 构建上传日志。
如果您将构建物上传到组织私有通用制品仓库,您可在制品仓库Packages的对应仓库中查看已上传的构建物,更多信息,请参见查看和管理 Maven 制品。