首页主机资讯Ubuntu Jenkins如何生成报告与日志

Ubuntu Jenkins如何生成报告与日志

时间2025-10-23 16:24:03发布访客分类主机资讯浏览909
导读:Ubuntu Jenkins生成报告与日志的实践指南 一、Jenkins报告生成方法 1. 测试报告(JUnit/Allure) JUnit报告(基础测试报告):适用于JUnit、TestNG等框架的测试结果展示。需在Pipeline中添...

Ubuntu Jenkins生成报告与日志的实践指南

一、Jenkins报告生成方法

1. 测试报告(JUnit/Allure)

  • JUnit报告(基础测试报告):适用于JUnit、TestNG等框架的测试结果展示。需在Pipeline中添加junit步骤,指定测试报告路径(如**/test-reports/*.xml)。示例:
    stage('Publish Test Report') {
    
        steps {
    
            junit '**/test-reports/*.xml'  // 归档并展示测试结果
        }
    
    }
    
    
    构建完成后,可在Job页面的“Test Result” tab查看通过率、失败用例等统计信息。
  • Allure报告(高级可视化报告):提供更丰富的测试分析功能(如趋势图、分类统计、缺陷关联)。需先安装Allure Commandline和Allure Jenkins Plugin,然后在Pipeline中配置:
    pipeline {
    
        agent any
        stages {
    
            stage('Test') {
    
                steps {
    
                    sh 'pytest --alluredir=./allure-results test_suite/'  // 生成Allure原始数据
                }
    
            }
    
            stage('Generate Allure Report') {
    
                steps {
    
                    allure includeProperties: false, results: [[path: './allure-results']]  // 生成HTML报告
                }
    
            }
    
        }
    
        post {
    
            always {
    
                archiveArtifacts artifacts: 'allure-results/**', fingerprint: true  // 归档原始数据(可选)
            }
    
        }
    
    }
    
    
    构建完成后,点击“Allure Report” tab即可查看交互式报告(支持用例分类、历史趋势对比)。

2. HTML报告(自定义结果展示)

  • 适用于自定义HTML格式的报告(如Selenium UI测试截图、性能测试结果)。需安装HTML Publisher Plugin,然后在Pipeline中添加publishHTML步骤:
    stage('Publish HTML Report') {
    
        steps {
    
            publishHTML(target: [
                allowMissing: false,          // 不允许缺失报告
                alwaysLinkToLastBuild: true,  // 始终链接到最新构建
                keepAll: true,                // 保留所有构建的报告
                reportDir: 'test-reports',    // 报告目录(工作空间相对路径)
                reportFiles: 'index.html',    // 报告文件名
                reportName: 'UI Test Report'  // 报告显示名称
            ])
        }
    
    }
    
    
    构建完成后,在Job页面的“HTML Report” tab查看自定义报告。

二、Jenkins日志管理方法

1. 构建日志(详细执行过程)

  • Web界面查看:进入Job页面,点击“Build History”中的特定构建编号,再点击“Console Output”即可查看实时构建日志(包括命令输出、错误堆栈)。
  • 命令行查看:通过tail命令实时查看最新日志,或grep搜索特定关键字(如“ERROR”):
    tail -f /var/log/jenkins/jenkins.log  # 实时查看Jenkins主日志
    grep "ERROR" /var/log/jenkins/jenkins.log  # 搜索错误日志
    

2. 系统日志(Jenkins主程序运行信息)

  • 日志文件位置:Ubuntu下Jenkins主日志默认存储在/var/log/jenkins/jenkins.log
  • 日志轮转配置:使用logrotate工具防止日志无限增长,创建/etc/logrotate.d/jenkins文件,添加以下配置:
    /var/log/jenkins/*.log {
        
        daily                   # 每天轮转
        rotate 7                # 保留7天
        compress                # 压缩旧日志
        missingok               # 文件缺失时不报错
        notifempty              # 空文件不轮转
        create 0644 root adm    # 创建新日志文件权限
        sharedscripts           # 所有日志轮转完成后执行脚本
        postrotate
            if [ -f /var/run/jenkins/jenkins.pid ];
     then
                kill -HUP $(cat /var/run/jenkins/jenkins.pid)  # 重新加载日志配置
            fi
        endscript
    }
        
    

3. 日志分析与优化

  • 内置工具:通过Jenkins Web界面的“Manage Jenkins -> System Log”查看系统级日志(如插件安装、系统错误)。
  • 第三方工具:集成ELK Stack(Elasticsearch+Logstash+Kibana)或Splunk,实现日志的集中存储、可视化分析和告警(如异常日志实时推送)。
  • 最佳实践
    • 调整Jenkins日志级别(在“Manage Jenkins -> System Log”中设置),避免过多无关日志;
    • 使用Cron作业定期清理旧日志(如每天删除7天前的.log文件):
      0 0 * * * find /var/log/jenkins/ -type f -name "*.log" -mtime 7 -exec rm -f {
      }
           \;
          
      

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


若转载请注明出处: Ubuntu Jenkins如何生成报告与日志
本文地址: https://pptw.com/jishu/733545.html
Ubuntu Jenkins如何与Docker集成 Ubuntu Jenkins如何管理任务调度

游客 回复需填写必要信息