首页主机资讯Postman在CentOS上如何集成CI/CD

Postman在CentOS上如何集成CI/CD

时间2025-10-02 15:43:03发布访客分类主机资讯浏览414
导读:1. 准备工作:安装必要工具 在CentOS系统上,首先需要安装Node.js、npm(Node.js包管理器)和Newman(Postman的命令行工具)。Newman是集成CI/CD的核心,用于在命令行中运行Postman测试集合。安装...

1. 准备工作:安装必要工具 在CentOS系统上,首先需要安装Node.js、npm(Node.js包管理器)和Newman(Postman的命令行工具)。Newman是集成CI/CD的核心,用于在命令行中运行Postman测试集合。安装命令如下:

# 更新系统包索引
sudo yum update -y
# 安装Node.js和npm(CentOS默认仓库可能版本较旧,建议使用EPEL仓库)
sudo yum install -y epel-release
sudo yum install -y nodejs npm
# 验证安装版本(Node.js需≥12.x,npm需≥6.x)
node -v &
    &
     npm -v
# 全局安装Newman
sudo npm install -g newman

以上步骤确保系统具备运行Postman测试的基础环境。

2. 创建并导出Postman测试集合 在Postman桌面客户端中完成API测试用例的设计(包括请求方法、URL、Headers、Body及Tests脚本),然后将集合导出为JSON文件。具体操作:

  • 在Postman中选中目标集合,点击右侧“…”→“Export”→选择“Collection Format v2.1”(兼容性更好)→保存为api-collection.json
    导出的集合文件包含所有测试用例的定义,是CI/CD流程中运行的核心输入。

3. 编写Shell脚本自动化运行Newman 为了简化CI/CD中的执行步骤,建议编写Shell脚本封装Newman命令。示例如下:

#!/bin/bash
# 设置集合和环境文件路径(根据实际路径修改)
COLLECTION_PATH="/home/user/api-collection.json"
ENV_PATH="/home/user/api-environment.json"  # 可选:环境变量文件
REPORT_PATH="/home/user/report.xml"         # JUnit格式报告路径

# 运行Newman测试,生成JUnit格式报告
newman run "$COLLECTION_PATH" -e "$ENV_PATH" --reporters cli,junit --reporter-junit-export "$REPORT_PATH"

# 检查测试结果,若失败则退出并返回非0状态码(CI/CD中可标记构建失败)
if [ $? -ne 0 ];
 then
  echo "Postman测试未通过!"
  exit 1
else
  echo "Postman测试全部通过!"
fi

将脚本保存为run_postman.sh,赋予执行权限:

chmod +x run_postman.sh

运行脚本即可执行测试并生成报告。

4. 集成到Jenkins CI/CD流程 以Jenkins为例,配置自动触发Postman测试的Pipeline:

  • 安装Jenkins及插件:在CentOS上安装Jenkins,通过Web界面进入“Manage Jenkins”→“Manage Plugins”,安装“Git Plugin”(用于拉取代码)、“HTML Publisher Plugin”(用于展示报告)和“Pipeline”插件。
  • 创建Pipeline项目:在Jenkins中新建“Pipeline”类型项目,配置“Pipeline script from SCM”(从代码仓库获取Pipeline脚本),SCM选择Git,填写仓库URL。
  • 编写Jenkinsfile:在代码仓库根目录创建Jenkinsfile,定义Pipeline阶段(如拉取代码、安装依赖、运行测试、发布报告):
pipeline {

  agent any
  stages {

    stage('Checkout') {

      steps {

        git branch: 'main', url: 'https://github.com/your-repo/api-project.git'  // 替换为实际仓库地址
      }

    }

    stage('Install Newman') {

      steps {

        sh 'npm install -g newman'  // 确保Jenkins节点安装Newman
      }

    }

    stage('Run Postman Tests') {

      steps {

        sh './run_postman.sh'  // 执行Shell脚本
      }

    }

    stage('Publish Results') {

      steps {

        junit 'report.xml'  // 发布JUnit格式测试报告(对应Newman生成的report.xml)
      }

    }

  }

  post {

    always {

      echo 'Pipeline执行完成'
    }

    failure {

      mail to: 'dev-team@example.com', subject: 'Postman测试失败', body: '请检查Jenkins构建日志'
    }

  }

}
    
  • 触发Pipeline:将代码推送到Git仓库的main分支,Jenkins会自动触发Pipeline,执行Postman测试并展示结果。

5. 解析与展示测试结果 通过Jenkins插件(如“HTML Publisher”)将Newman生成的测试报告可视化。例如,在Jenkinsfile中添加以下步骤,可将HTML报告发布到Jenkins界面:

junit 'report.xml'  // 展示JUnit格式的文本报告
publishHTML(target: [
  allowMissing: false,
  alwaysLinkToLastBuild: true,
  keepAll: true,
  reportDir: '/',
  reportFiles: 'newman-report.html',  // Newman生成的HTML报告(需在run_postman.sh中添加--reporters html选项)
  reportName: 'Postman Test Report'
])

运行后,Jenkins界面会显示测试结果的文本摘要和HTML详情,便于快速定位失败用例。

注意事项

  • 环境变量管理:敏感信息(如API密钥、数据库密码)应通过Jenkins的“Credentials”功能或环境变量文件(.env)管理,避免硬编码在集合或脚本中。
  • 报告格式选择:推荐使用JUnit格式(便于CI/CD解析)和HTML格式(便于人工查看),可通过Newman的--reporters选项同时生成。
  • 权限配置:确保Jenkins用户对脚本、集合文件及报告目录有读写权限,避免因权限问题导致运行失败。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Postman在CentOS上如何集成CI/CD
本文地址: https://pptw.com/jishu/717347.html
Postman在CentOS上如何生成报告 CentOS下Postman如何管理环境变量

游客 回复需填写必要信息