Ubuntu Jenkins生成报告与日志的实践指南
junit步骤,指定测试报告路径(如**/test-reports/*.xml)。示例:stage('Publish Test Report') {
steps {
junit '**/test-reports/*.xml' // 归档并展示测试结果
}
}
构建完成后,可在Job页面的“Test Result” tab查看通过率、失败用例等统计信息。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即可查看交互式报告(支持用例分类、历史趋势对比)。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查看自定义报告。tail命令实时查看最新日志,或grep搜索特定关键字(如“ERROR”):tail -f /var/log/jenkins/jenkins.log # 实时查看Jenkins主日志
grep "ERROR" /var/log/jenkins/jenkins.log # 搜索错误日志
/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
}
.log文件):0 0 * * * find /var/log/jenkins/ -type f -name "*.log" -mtime 7 -exec rm -f {} \;