Jenkins在CentOS上的自动化测试如何实现
导读:在 CentOS 上用 Jenkins 落地自动化测试 一 环境准备与安装 安装 Java 11(Jenkins 2.361+ 建议使用 JDK 11 或更高版本): sudo yum update -y sudo yum instal...
在 CentOS 上用 Jenkins 落地自动化测试
一 环境准备与安装
- 安装 Java 11(Jenkins 2.361+ 建议使用 JDK 11 或更高版本):
- sudo yum update -y
- sudo yum install -y java-11-openjdk-devel
- java -version
- 添加 Jenkins 官方 YUM 源并安装:
- sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
- sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
- sudo yum install -y jenkins
- 启动并设置开机自启:
- sudo systemctl daemon-reload
- sudo systemctl start jenkins
- sudo systemctl enable jenkins
- 开放防火墙端口(默认 8080):
- sudo firewall-cmd --permanent --add-port=8080/tcp
- sudo firewall-cmd --reload
- 获取初始管理员密码:
- sudo cat /var/lib/jenkins/secrets/initialAdminPassword
- 访问 http://< 服务器IP> :8080 完成解锁与初始化(安装推荐插件、创建管理员)。
二 安装必要插件与全局工具
- 建议安装的插件:
- Git plugin(源码拉取)
- Pipeline(流水线即代码)
- JUnit(测试报告解析)
- HTML Publisher plugin(展示 HTML 报告)
- Allure Plugin(美观的 Allure 报告)
- Email Extension Plugin(邮件通知)
- 全局工具配置(Manage Jenkins → Global Tool Configuration):
- 配置 JDK(自动安装或指定路径)
- 配置 Git(确保 git --version 可用)
- 配置 Allure Commandline(下载并命名安装,如 allure-2.x)。
三 示例一 Python + pytest + Allure 的 Pipeline
- 准备测试项目(示例结构):
- your-repo/
- tests/
- requirements.txt
- Jenkinsfile
- your-repo/
- requirements.txt 示例:
- pytest
- allure-pytest
- Jenkinsfile 示例(声明式流水线):
- pipeline {
agent any
environment {
ALLURE_RESULTS = ‘allure-results’
ALLURE_REPORT = ‘allure-report’
}
stages {
stage(‘Checkout’) {
steps {
git url: ‘https://github.com/yourorg/your-repo.git’, branch: ‘main’ }
}
stage(‘Install Deps’) {
steps {
sh ‘pip3 install -r requirements.txt’ }
}
stage(‘Run Tests’) {
steps {
sh ‘’’
mkdir -p ${
ALLURE_RESULTS}
pytest tests/
–alluredir=${ ALLURE_RESULTS}
–junitxml=report.xml ‘’’ } } } post { always { junit ‘report.xml’ allure([ includeProperties: false, jdk: ‘’, properties: [], reportBuildPolicy: ‘ALWAYS’, results: [[path: “${ ALLURE_RESULTS} ”]], report: “${ ALLURE_REPORT} ” ]) emailext( subject: ‘构建结果: ${ BUILD_STATUS} ’, body: ‘详情: ${ BUILD_URL} ’, to: ‘team@example.com’ ) } } }
- pipeline {
agent any
environment {
ALLURE_RESULTS = ‘allure-results’
ALLURE_REPORT = ‘allure-report’
}
stages {
stage(‘Checkout’) {
steps {
git url: ‘https://github.com/yourorg/your-repo.git’, branch: ‘main’ }
}
stage(‘Install Deps’) {
steps {
sh ‘pip3 install -r requirements.txt’ }
}
stage(‘Run Tests’) {
steps {
sh ‘’’
mkdir -p ${
ALLURE_RESULTS}
pytest tests/
- 说明:
- 构建后操作添加 Allure Report 并指向 allure-results 目录;JUnit 报告指向 report.xml。
- 邮件通知使用 Email Extension Plugin 的 emailext 步骤。
四 示例二 JMeter 接口自动化测试
- 在 CentOS 安装 Apache JMeter(示例版本 5.4.3):
- wget https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.4.3.tgz
- tar -xzf apache-jmeter-5.4.3.tgz
- sudo mv apache-jmeter-5.4.3 /usr/local/jmeter
- 准备测试脚本:如 test.jmx
- Pipeline 示例:
- pipeline {
agent any
stages {
stage(‘Checkout’) {
steps {
git url: ‘https://github.com/yourorg/your-repo.git’, branch: ‘main’ }
}
stage(‘Run JMeter’) {
steps {
sh ‘’’
/usr/local/jmeter/bin/jmeter -n
-t test.jmx
-l jmeter-results.jtl
-j jmeter.log ‘’’ } } } post { always { junit ‘jmeter-results.jtl’ // JMeter 可输出 JUnit 兼容结果 } } }
- pipeline {
agent any
stages {
stage(‘Checkout’) {
steps {
git url: ‘https://github.com/yourorg/your-repo.git’, branch: ‘main’ }
}
stage(‘Run JMeter’) {
steps {
sh ‘’’
/usr/local/jmeter/bin/jmeter -n
- 说明:
- 非 GUI 模式运行(-n),-t 指定脚本,-l 输出结果,-j 输出日志;Jenkins 用 JUnit 插件展示结果。
五 触发策略与报告查看
- 触发策略:
- 定时构建(Pipeline 中使用 triggers):
- triggers { cron(‘H 2 * * *’) } // 每天 2:00 左右执行
- 代码提交触发:
- 在 GitHub/GitLab 仓库设置 Webhook(Payload URL:http:///github-webhook/)
- 在任务中勾选 GitHub hook trigger for GITScm polling
- 定时构建(Pipeline 中使用 triggers):
- 报告与通知:
- JUnit 报告:构建后操作选择 “Publish JUnit test result report”,指定 .xml 路径
- HTML 报告:使用 HTML Publisher 插件发布 .html 报告
- Allure 报告:安装 Allure 插件与命令行,构建后选择 Allure Report 并指向 allure-results
- 邮件通知:使用 Email Extension Plugin 配置收件人、主题与内容模板
- 常见问题排查:
- 报告为空或路径错误:核对报告生成路径与“Results/Path”配置是否一致,检查工作空间权限
- 插件安装慢或失败:可临时使用国内镜像源更新插件索引后重试
- 构建并发与稳定性:限制并发构建数、定期清理旧构建、必要时扩展 Agent 节点。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Jenkins在CentOS上的自动化测试如何实现
本文地址: https://pptw.com/jishu/779088.html
