与 Jenkins 集成
安装 Jenkins
Jenkins 是一款自动化构建工具,可以帮助开发人员在软件开发过程中自动化构建、测试和部署应用程序。以下是 Linux 系统中的安装方法:
- 添加 Jenkins GPG 公钥:
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
- 将 Jenkins 源添加到 APT 软件源列表中:
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
- 更新 APT 软件包列表:
sudo apt-get update
- 安装 Jenkins:
sudo apt-get install jenkins
- 启动 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 插件,安装并重启。
2、在全局工具配置中新建 NodeJS,配置版本号(需 >= v10)和包名 apifox-cli
。
运行 CLI 命令
若 Jenkins 宿主机已经安装好 Apifox-CLI,希望直接在 Node 环境运行任务,那么可以参考下图的 Node 配置并填写宿主机的 Node 路径。
新建任务,在 Build Environment 中设置 node 信息。
你可以通过以下两种方式在 Jenkins 中触发 Apifox 自动化测试。
- 在可视化流水线中添加配置
- 将嵌入式代码集成至流水线
可视化配置流水线
打开 Apifox,在持续集成详情页中获取 CLI 命令。若 Jenkins 环境具备联网条件,可以选择使用「实时运行在线数据」命令;如果不具备联网条件,那么需要先导出 CLI 的 json 数据文件至环境中,再通过 CLI 执行。
添加构建步骤 Excute shell,将 Apifox CLI 命令拷贝进去,保存并运行即可。
如果 Jenkins 宿主机是 Windows 系统,构建步骤换成 Windows batch command
。
将嵌入式代码集成至流水线
Apifox 支持自动生成 Jenkins
和 Github 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}
常见问题
在 Jenkins 流水线内上传接口文档失败怎么办?
- 确保运行 Jenkins 主机有足够的磁盘空间。
- 确保 Jenkins 任务的执行用户有足够的权限。
- 将需要上传的文件拷贝至 Jenkins 主机内的文件地址,并且在 CLI 命令中指定相同的文件地址路径。