跳到主要内容

与 Jenkins 集成

安装 Jenkins

Jenkins 是一款自动化构建工具,可以帮助开发人员在软件开发过程中自动化构建、测试和部署应用程序。以下是 Linux 系统中的安装方法:

  1. 添加 Jenkins GPG 公钥:
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
  1. 将 Jenkins 源添加到 APT 软件源列表中:
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
  1. 更新 APT 软件包列表:
sudo apt-get update
  1. 安装 Jenkins:
sudo apt-get install jenkins
  1. 启动 Jenkins 服务:
sudo systemctl start jenkins

安装完成后在 Web 浏览器中输入 http://localhost:8080 来访问 Jenkins 控制台。控制台提供了 Web 界面以便你管理和配置 Jenkins 服务。

如需了解更多有关于 Jenkins 的说明,请查看 Jenkins 官网

配置 NodeJS 环境

运行 Apifox CLI 前需确保 Node.js 版本号 >= v14.20.1,因此需要先在 Jenkins 环境中配置 NodeJS 依赖。

1、打开 Jenkins 插件管理中找到 NodeJS 插件,安装并重启。

安装 node 插件

2、在全局工具配置中新建 NodeJS,配置版本号(需 >= v10)和包名 apifox-cli

全局配置 node 路径

运行 CLI 命令

若 Jenkins 宿主机已经安装好 Apifox-CLI,希望直接在 Node 环境运行任务,那么可以参考下图的 Node 配置并填写宿主机的 Node 路径。

任务设置 node

新建任务,在 Build Environment 中设置 node 信息。

任务设置 node

你可以通过以下两种方式在 Jenkins 中触发 Apifox 自动化测试。

  1. 在可视化流水线中添加配置
  2. 将嵌入式代码集成至流水线

可视化配置流水线

打开 Apifox,在持续集成详情页中获取 CLI 命令。若 Jenkins 环境具备联网条件,可以选择使用「实时运行在线数据」命令;如果不具备联网条件,那么需要先导出 CLI 的 json 数据文件至环境中,再通过 CLI 执行。

添加构建步骤 Excute shell,将 Apifox CLI 命令拷贝进去,保存并运行即可。

添加 cli 命令

如果 Jenkins 宿主机是 Windows 系统,构建步骤换成 Windows batch command

添加构建步骤

将嵌入式代码集成至流水线

Apifox 支持自动生成 JenkinsGithub Actions 配置代码,同时还可以选择 Linux、Windows、macOS 操作系统要求的配置代码。

轻点「持续集成」配置,在「CI/CD 工具」 Tab 页中获取嵌入式代码,将它粘贴至持续集成体系的配置文件中,与现有的研发工作流相结合。

上图中的“替换为你的本机配置”指的是你在“全局工具配置”中定义的 NodeJS Name。

将代码直接粘贴至 Jenkins 流水线配置中,即可嵌入至已有的持续集成工作流。

展示测试报告

在命令中指定生成报告名 ${JOB_NAME}_${BUILD_NUMBER}( Jenkins 内置变量),结合 HTML Publisher 插件方便测试报告展示。

apifox run https://api.apifox.com/api/v1/api-test/ci-config/XXX/detail?token=xxxxx -r html,cli --out-file ${JOB_NAME}_${BUILD_NUMBER}

image-20220505145135598

常见问题

在 Jenkins 流水线内上传接口文档失败怎么办?

  1. 确保运行 Jenkins 主机有足够的磁盘空间。
  2. 确保 Jenkins 任务的执行用户有足够的权限。
  3. 将需要上传的文件拷贝至 Jenkins 主机内的文件地址,并且在 CLI 命令中指定相同的文件地址路径。