Jenkins集成SonarQube时多语言sonar.lang.patterns配置咨询
以下配置完全适配 SonarQube 8.9.2 LTS 版本,可直接写入 Jenkins SonarQube 分析步骤的属性配置中,或是项目根目录的 sonar-project.properties 文件内生效。
各语言
sonar.lang.patterns 配置参考 sonar.lang.patterns 配置的作用是指定 SonarQube 识别对应语言的文件匹配规则,支持通配符,多规则用英文逗号分隔,! 开头的规则代表排除匹配的文件。
- Java:配置键为
sonar.lang.patterns.java,推荐值:**/*.java,如需兼容非标准后缀可自行追加 - C:配置键为
sonar.lang.patterns.c,推荐值:**/*.c,**/*.h - C++:配置键为
sonar.lang.patterns.cpp,推荐值:**/*.cpp,**/*.cxx,**/*.cc,**/*.hxx,**/*.hpp,**/*.hh - C#(.NET 生态):配置键为
sonar.lang.patterns.cs,推荐值:**/*.cs,**/*.csx,**/*.cshtml - 其他 .NET 语言(如 VB.NET):配置键为
sonar.lang.patterns.vbnet,推荐值:**/*.vb - COBOL:配置键为
sonar.lang.patterns.cobol,推荐值:**/*.cbl,**/*.cob,**/*.cpy - Mainframe 相关脚本:
- JCL:配置键为
sonar.lang.patterns.jcl,推荐值:**/*.jcl,**/*.cntl - REXX:配置键为
sonar.lang.patterns.rexx,推荐值:**/*.rexx,**/*.rex
- JCL:配置键为
- PostgreSQL(Psql)脚本:配置键为
sonar.lang.patterns.plsql,推荐值:**/*.sql,**/*.psql,**/*.pks,**/*.pkb
Jenkins 集成使用示例
Pipeline 流水线配置
stage('SonarQube 代码分析') { steps { withSonarQubeEnv('你在Jenkins中配置的SonarQube服务别名') { sh '''sonar-scanner \ -Dsonar.projectKey=你的项目唯一标识 \ -Dsonar.sources=./src \ -Dsonar.java.binaries=./target \ # 按需添加对应语言的配置即可 -Dsonar.lang.patterns.java=**/*.java \ -Dsonar.lang.patterns.cpp=**/*.cpp,**/*.hpp \ -Dsonar.lang.patterns.cs=**/*.cs''' } } }
自由风格项目配置
在构建步骤中选择「SonarQube Scanner」后,直接在「Analysis properties」输入框内逐行添加对应的配置键值对即可。
内容的提问来源于stack exchange,提问作者Mukesh
相关产品推荐
相关产品推荐

