Node.js测试构建

更新时间:2025-04-22 05:21:02

流水线 Flow提供了一站式 Node.js 项目测试与构建解决方案,帮助您快速配置 CI/CD 流水线,并实现自动化测试、代码编译、依赖管理、构建产物上传等。本文为您介绍如何通过可视化界面配置Node.js · 测试、构建

步骤一:新建测试构建流水线

  1. 登录流水线 Flow控制台,单击右上角新建流水线

  2. 在弹出的选择流水线模板页面,选择Node.js · 测试、构建,并单击创建

    image

步骤二:配置流水线源

  1. 新建流水线流程配置中,单击流水线源阶段的添加流水线源

  2. 选择添加您的代码源。本文使用流水线 Flow预置的示例代码,您需依次单击示例代码源 > NodeJS > 添加

步骤三:配置测试构建

Node.js · 测试、构建模板预置了JavaScript 代码扫描Node.js 单元测试Node.js 构建上传。它们的配置基本类似,本文以Node.js 构建上传为例进行说明。image

Node.js 构建上传配置详情

  1. 配置基本参数。

    参数

    说明

    参数

    说明

    任务名称

    您可自定义任务名称,一般保持默认即可。

    构建集群

    支持以下构建集群:

    构建环境

    支持以下构建环境:

    • 指定容器环境(云效默认构建集群):流水线 Flow在构建机器上启动指定容器,在单容器环境进行构建。云效提供官方常用镜像供选择使用、您也可以指定自己的镜像作为运行环境。

    • 默认VM环境(仅私有构建集群支持):须选择指定构建节点流水线 Flow会直接在构建机器上安装环境并执行任务,为了提升任务构建速度建议提前在构建机器上安装好相应SDK和环境。

    • 默认环境(云效默认构建集群/私有构建集群):流水线 Flow会根据任务类型默认使用不同的容器镜像,预装相应的SDK和环境,默认镜像不可修改(Deprecated)。

    说明

    任务执行期间,流水线任务构建环境分配给用户使用,构建环境的使用权归属用户,任务执行脚本由用户自定义。

    下载流水线源

    开启下载流水线源后,您配置的源文件将会被下载至对应的工作目录下。支持以下三种方式:

    • 下载全部流水线源

    • 不下载流水线源

    • 下载部分流水线源

  2. 配置任务步骤

    根据您选定的构建环境,选择以下对应参考配置。

    指定容器环境/默认VM环境
    默认环境
    1. 配置 .npmrc 文件

      image

    2. 安装 Node 环境

      根据具体需求配置Node 版本npm 类型等参数。

      重要

      版本选择方式支持从预置版本中选择输入指定版本使用代码库中 .nvmrc 文件中的版本。但如果 .nvmrc 文件存在,则无论选择哪个选项都会使用 .nvmrc 文件

      image

    3. 执行命令

      输入执行命令(执行命令为用户自定义构建命令),并选择是否指定运行Shell。如需配置环境变量,请参见环境变量

      image

    4. 构建物上传

      选择以下上传方式并配置具体参数。

      组织私有通用制品仓库(制品将上传Packages统一管理)
      归档至云效公共存储空间(供后续任务拉取并部署)

      参数说明:

      参数

      说明

      添加服务连接

      单击添加服务连接,根据界面提示创建流水线 Flow制品仓库 Packages的服务连接。更多信息,请参见服务连接管理

      仓库

      添加服务连接后,可选择Packages中的通用制品仓库作为目标仓库。

      说明

      关于通用制品仓库的更多信息,请参见通用制品管理

      制品名称

      用于区分多次构建产生的不同产出物,定义后在部署组件使用,建议使用动态变量形式设置。默认使用Artifacts_${PIPELINE_ID}。您可自定义构建物的名称(如target1)。

      制品版本

      版本用于唯一标识您的制品文件,因此同一制品不允许推送重复版本。建议使用动态变量形式,比如 ${DATETIME}

      打包路径

      设置起始位置为项目文件夹的相对路径(如target/),可以设置多个文件路径。

      制品中包含打包路径的目录

      如果选中,则生成的压缩包中,包含完整的打包路径,否则仅包含文件。当选择了多个打包路径时,该值自动设置为true

      配置示例:image

      参数说明:

      参数

      说明

      制品名称

      用于区分多次构建产生的不同产出物,定义后在部署组件使用,建议使用动态变量形式设置。默认使用Artifacts_${PIPELINE_ID}。您可自定义构建物的名称(如target1)。

      打包路径

      设置起始位置为项目文件夹的相对路径(如target/),可以设置多个文件路径。

      制品中包含打包路径的目录

      如果选中,则生成的压缩包中,包含完整的打包路径,否则仅包含文件。当选择了多个打包路径时,该值自动设置为true

      配置示例:image

    云效 Flow预置的流水线模板中使用的是指定容器环境,单击切换到默认环境后,原有的任务步骤将失效,您需清空原有配置,并重新添加以下任务步骤。

    1. Node.js 构建

      在任务步骤中,依次选择添加步骤 > 构建 > Node.js 构建。您可根据需求修改配置参数,例如Node 版本构建命令等。

      image

    2. 构建物上传

      在任务步骤中,依次选择添加步骤 > 上传 > 构建物上传添加。

      选择以下上传方式并配置具体参数。

      组织私有通用制品仓库(制品将上传Packages统一管理)
      归档至云效公共存储空间(供后续任务拉取并部署)

      参数说明:

      参数

      说明

      添加服务连接

      单击添加服务连接,根据界面提示创建流水线 Flow制品仓库 Packages的服务连接。更多信息,请参见服务连接管理

      仓库

      添加服务连接后,可选择Packages中的通用制品仓库作为目标仓库。

      说明

      关于通用制品仓库的更多信息,请参见通用制品管理

      制品名称

      用于区分多次构建产生的不同产出物,定义后在部署组件使用,建议使用动态变量形式设置。默认使用Artifacts_${PIPELINE_ID}。您可自定义构建物的名称(如target1)。

      制品版本

      版本用于唯一标识您的制品文件,因此同一制品不允许推送重复版本。建议使用动态变量形式,比如 ${DATETIME}

      打包路径

      设置起始位置为项目文件夹的相对路径(如target/),可以设置多个文件路径。

      制品中包含打包路径的目录

      如果选中,则生成的压缩包中,包含完整的打包路径,否则仅包含文件。当选择了多个打包路径时,该值自动设置为true

      配置示例:image

      参数说明:

      参数

      说明

      制品名称

      用于区分多次构建产生的不同产出物,定义后在部署组件使用,建议使用动态变量形式设置。默认使用Artifacts_${PIPELINE_ID}。您可自定义构建物的名称(如target1)。

      打包路径

      设置起始位置为项目文件夹的相对路径(如target/),可以设置多个文件路径。

      制品中包含打包路径的目录

      如果选中,则生成的压缩包中,包含完整的打包路径,否则仅包含文件。当选择了多个打包路径时,该值自动设置为true

      配置示例:image

JavaScript 代码扫描独有参数说明

参数

说明

参数

说明

是否使用本地 ESLint 配置

是否使用仓库自身的 ESLint 配置,而不是系统规则集进行扫描。启用该选项后,需在「运行本地 ESLint 配置所需依赖」选项中声明所需依赖,且确保仓库根目录有 .eslintrc.* 文件

运行本地 ESLint 配置所需依赖

在此声明运行仓库自身 ESLint 配置所需的所有依赖,依赖间用空格间隔,这个字段将直接跟在 npm install 后面进行安装。例如本地使用 eslint-config-standard,此处依赖需要写 eslint eslint-config-standardeslint-plugin-standardeslint-plugin-promiseeslint-plugin-importeslint-plugin-node。当配置为*时,则默认安装package.json中声明的全部依赖。

重要

该选项仅在是否使用本地 ESLint 配置选项开启后有效。

开启增量扫描模式

未开启增量扫描模式时,将对全量代码进行扫描。

排除子目录

需要被排除在扫描范围之外的目录或文件,可参考gitignore配置,例如设置test/,表示排除扫描test/目录下所有文件。

红线信息

设定代码扫描成功判定的条件,支持从以下四个维度进行设置:

  • Total 问题数

  • Bloker 问题数

  • Critical 问题数

  • Major 问题数

Node.js 单元测试独有参数说明

参数

说明

参数

说明

执行命令

需自定义Node.js单元测试命令。

测试报告文件路径

测试命令执行后生成的测试报告所在目录,例如mochawesome-report/mochawesome.html

测试工具

选择测试工具/框架,例如Node.js-Mocha

步骤五:运行并查看目标流水线任务

  1. 流程配置完成后,单击页面右上角保存并运行,并在弹出的对话框中单击运行,即可开始运行流水线任务。

  2. 运行流水线任务完成后,在构建镜像任务节点的右下方单击日志,可以查看到流水线任务的执行过程结果日志。image

  3. 如果您将构建物上传到组织私有通用制品仓库,您可在制品仓库Packages的对应仓库中查看已上传的构建物,更多信息,请参见NPM 制品管理

  • 本页导读 (1)
  • 步骤一:新建测试构建流水线
  • 步骤二:配置流水线源
  • 步骤三:配置测试构建
  • Node.js 构建上传配置详情
  • JavaScript 代码扫描独有参数说明
  • Node.js 单元测试独有参数说明
  • 步骤五:运行并查看目标流水线任务
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等