31-Jenkins-使用Pipeline实现集成SoanrQube
Posted 爱学习de测试小白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了31-Jenkins-使用Pipeline实现集成SoanrQube相关的知识,希望对你有一定的参考价值。
使用Pipeline实现集成SoanrQube
前言
- 上一篇介绍了自由风格项目集成SoanrQube,本篇学习如何使用Pipeline集成SoanrQube
Pipeline集成SoanrQube
1.项目下新建SoanrQube检测配置文件
- 新建sonar-project.properties文件(文件名是固定的,不要自己定义)
# SonarQube中项目的唯一标识符。只要它是唯一的
sonar.projectKey=java_demo_pipeline
# SonarQube 中显示的项目名称
sonar.projectName=java_demo_pipeline
# 版本号,可自定义
sonar.projectVersion=1.0
# 配置扫描的代码目录
sonar.sources=.
# 编译后文件目录,不加会报错
sonar.java.binaries=target
# 检查语言
sonar.language=java
# 编码格式
sonar.sourceEncoding=UTF-8
# 不需要检测的文件
sonar.exclusions=**/*.js,**/*.xml,html,**/test/**,**/target/**
2.编写Pipeline
pipeline
agent any
stages
stage('pull code')
steps
checkout([$class: 'GitSCM', branches: [[name: '*/分支']], extensions: [], userRemoteConfigs: [[credentialsId: 'gitlab秘钥', url: '你的gitlab地址']]])
stage('sonarqube code checking ')
steps
script
// 引入SonarQubeScanner工具;sonar-scanner 与前面在Global Tool Configuration中配置的Name值一致
scannerHome = tool 'sonar-scanner'
//引入SonarQube服务器环境;sonarqube 与前面在System Configuration 配置的Name值一致
withSonarQubeEnv('sonarqube')
// 我这里是windows环境所以使用 bat
bat "$scannerHome/bin/sonar-scanner"
// linux 环境使用下面的命令
//sh "$scannerHome/bin/sonar-scanner"
stage('build project')
steps
// 我这里是windows环境所以使用 bat
bat 'mvn clean package'
// linux 环境使用下面的命令
//sh 'mvn clean package'
stage('deploy project')
steps
// 这里只是打印,没有真正部署
println 'deploy project'
3. 新建project
- 在流水线部分,写入上面的pipeline
4. 查看报告
- build now 后点击查看报告
- 下面是sonarqube报告
以上是关于31-Jenkins-使用Pipeline实现集成SoanrQube的主要内容,如果未能解决你的问题,请参考以下文章