首页主机资讯centos系统postman如何集成CI/CD

centos系统postman如何集成CI/CD

时间2025-10-11 15:27:04发布访客分类主机资讯浏览818
导读:一、前置准备:安装必要工具 在CentOS系统上集成Postman到CI/CD流程前,需先安装以下工具: 安装Node.js和npm:Newman(Postman命令行工具)依赖Node.js环境。通过YUM仓库安装:sudo yum i...

一、前置准备:安装必要工具 在CentOS系统上集成Postman到CI/CD流程前,需先安装以下工具:

  1. 安装Node.js和npm:Newman(Postman命令行工具)依赖Node.js环境。通过YUM仓库安装:
    sudo yum install -y nodejs npm
    
  2. 安装Newman:使用npm全局安装Newman(Postman的CLI版本):
    sudo npm install -g newman
    
    验证安装:newman --version(显示版本号则表示安装成功)。
  3. 准备Postman测试资产:在Postman中创建API测试集合(包含请求、测试脚本,如检查状态码pm.test("Status code is 200", () => pm.response.to.have.status(200))),并导出为JSON文件(如api-collection.json);若有环境变量(如API基础URL),导出为环境文件(如environment.json)。

二、编写自动化测试脚本 创建Shell脚本(如run_postman_tests.sh),封装Newman命令以实现自动化运行:

#!/bin/bash
# 设置集合与环境文件路径
COLLECTION_PATH="/path/to/api-collection.json"
ENV_PATH="/path/to/environment.json"
REPORT_PATH="/path/to/report.html"

# 运行Newman并生成HTML报告(便于查看结果)
newman run "$COLLECTION_PATH" -e "$ENV_PATH" --reporters cli,html --reporter-html-export "$REPORT_PATH"

# 检查测试结果,若失败则退出脚本并返回非0状态码(供CI/CD工具判断)
if [ $? -ne 0 ];
 then
  echo "Postman测试失败!"
  exit 1
else
  echo "Postman测试通过!"
fi

赋予脚本执行权限:chmod +x run_postman_tests.sh

三、集成到Jenkins CI/CD流程 Jenkins是CentOS上常用的CI/CD工具,通过Pipeline实现Postman测试自动化:

  1. 安装Jenkins:在CentOS上安装Jenkins(参考官方文档),并启动服务。
  2. 创建Pipeline Job
    • 新建Item → 选择“Pipeline” → 输入Job名称(如“Postman-Tests”)。
    • 在“Pipeline”配置中,选择“Pipeline script from SCM”(从代码仓库获取脚本),SCM类型选“Git”,填写仓库URL(如GitHub或GitLab地址)。
  3. 编写Jenkinsfile:在代码仓库根目录创建Jenkinsfile,定义Pipeline步骤(以Declarative Pipeline为例):
    pipeline {
    
      agent any
      stages {
    
        stage('Checkout Code') {
    
          steps {
    
            git branch: 'main', url: 'https://github.com/your-repo.git' // 替换为你的仓库URL
          }
    
        }
    
        stage('Run Postman Tests') {
    
          steps {
    
            sh './run_postman_tests.sh' // 执行Shell脚本
          }
    
        }
    
      }
    
      post {
    
        always {
    
          // 发布测试报告(若生成HTML报告)
          publishHTML(target: [
            allowMissing: false,
            alwaysLinkToLastBuild: true,
            keepAll: true,
            reportDir: '/path/to/report', // 报告生成目录
            reportFiles: 'report.html',
            reportName: 'Postman Test Report'
          ])
          // 发送邮件通知(可选)
          emailext body: 'Postman测试已完成,请查看报告。', subject: 'Postman测试结果', to: 'dev-team@example.com'
        }
    
      }
    
    }
    
    
  4. 触发Pipeline:推送代码到仓库的main分支(或根据配置的触发条件),Jenkins会自动拉取代码并执行Pipeline,运行Postman测试。

四、集成到GitHub Actions CI/CD流程 若代码托管在GitHub,可使用GitHub Actions实现更轻量的集成:

  1. 创建GitHub Secrets:在仓库Settings → Secrets and variables → Actions → New repository secret,添加以下Secrets:
    • POSTMAN_API_KEY:Postman账户的API Key(用于Postman CLI登录,可在Postman账户设置中生成)。
  2. 创建Workflow文件:在仓库根目录创建.github/workflows/postman.yml,定义工作流步骤:
    name: Run Postman Tests
    on:
      push:
        branches: [main] # 当main分支有推送时触发
      pull_request:
        branches: [main] # 当main分支有拉取请求时触发
    jobs:
      run-tests:
        runs-on: ubuntu-latest # 使用Ubuntu runner(兼容CentOS环境的工具链)
        steps:
          # 检出代码
          - name: Checkout code
            uses: actions/checkout@v3
          # 安装Newman
          - name: Install Newman
            run: npm install -g newman
          # 登录Postman CLI(使用Secrets中的API Key)
          - name: Login to Postman CLI
            run: postman login --with-api-key "${
    {
     secrets.POSTMAN_API_KEY }
    }
        "
          # 运行Postman集合(通过Postman Cloud ID,需提前将集合发布到Postman Cloud)
          - name: Run Postman Collection
            run: postman collection run "your-collection-id" --environment "your-environment-id" --reporters cli,junit --reporter-junit-export report.xml
          # 上传测试报告(作为Artifact,可在GitHub Actions页面查看)
          - name: Upload Test Report
            uses: actions/upload-artifact@v3
            with:
              name: postman-test-report
              path: report.xml
    
  3. 触发Workflow:推送代码到main分支或创建拉取请求,GitHub Actions会自动运行工作流,执行Postman测试并上传报告。

五、关键注意事项

  • 环境变量管理:测试集合中的环境变量(如API基础URL、认证Token)应通过环境文件(environment.json)或Postman CLI参数传递,避免硬编码。
  • 报告生成:建议生成HTML或JUnit格式的报告(如--reporters html--reporter-junit-export),便于CI/CD工具展示结果(如Jenkins的HTML Publisher插件、GitHub Actions的Artifact)。
  • 权限配置:确保Jenkins或GitHub Actions有权限访问代码仓库、Postman Cloud(若使用CLI登录)及报告存储路径。
  • 触发条件:根据需求设置触发条件(如pushpull_request),避免不必要的测试执行。

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


若转载请注明出处: centos系统postman如何集成CI/CD
本文地址: https://pptw.com/jishu/723659.html
centos上postman版本怎么选 VirtualBox虚拟机在CentOS如何设置多网卡

游客 回复需填写必要信息