通过 Jenkins 实现代码质量监控
一 架构与工具选型
二 快速落地步骤
三 关键配置与示例
pipeline {
agent any
tools {
sonarQube 'SonarQubeScanner' // 在 Global Tool Configuration 中配置
maven 'M3' // 可选:Maven 工具
}
stages {
stage('Checkout') {
steps { checkout scm }
}
stage('SonarQube Analysis') {
steps {
withSonarQubeEnv('MySonarQube') { // 与 Global Configuration 中的服务器名称一致
sh "${tool 'SonarQubeScanner'}/bin/sonar-scanner \
-Dsonar.projectKey=your_project_key \
-Dsonar.sources=. \
-Dsonar.host.url=http://localhost:9000 \
-Dsonar.login=your_sonarqube_token"
}
}
}
stage('Quality Gate') {
steps {
timeout(time: 1, unit: 'HOURS') {
waitForQualityGate abortPipeline: true
}
}
}
}
}
sonar-scanner 即可。四 报告聚合与可视化
stage('Report') {
steps {
recordIssues(
tools: [
checkStyle(pattern: '**/checkstyle-result.xml'),
pmd(pattern: '**/pmd-result.xml'),
spotBugs(pattern: '**/spotbugsXml.xml')
],
trendChartTitle: 'Static Analysis Trend'
)
}
}
五 最佳实践与常见问题
sonar.sources/sonar.exclusions),避免无关依赖与生成文件。免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。