pipeline+sonar
Posted gcgc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pipeline+sonar相关的知识,希望对你有一定的参考价值。
前提需要在项目根目录下新建sonar-project.properties文件,内容如下:
# must be unique in a given SonarQube instance sonar.projectKey=cynomys:0.0.1 # this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1. sonar.projectName=cynomys sonar.projectVersion=0.0.1 # Path is relative to the sonar-project.properties file. Replace "" by "/" on Windows. # This property is optional if sonar.modules is set. sonar.sources=. sonar.exclusions=**/test/**,**/target/** sonar.java.source=1.8 sonar.java.target=1.8 # Encoding of the source code. Default is default system encoding sonar.sourceEncoding=UTF-8
# 项目的class文件地址 sonar.java.binaries=/root/.jenkins/workspace/e-content/e-content-controller/target/classes
pipeline脚本
node { maven_home=‘/usr/local/apache-maven-3.5.4‘ stage(‘Pull Code‘){ git branch: ‘master‘, credentialsId: ‘gitlab_account‘, url: ‘http://******.git‘ } stage(‘Code Check‘) { echo "代码检查!" } stage(‘SonarQube analysis‘) { // SonarQubeServer为系统配置的SonarQube servers的名称 withSonarQubeEnv(‘SonarQubeServer‘) { sh ‘/usr/local/sonar-scanner-3.2.0.1227-linux/bin/sonar-scanner‘ } } stage(‘Unit Test‘) { echo "单元测试 !" } stage(‘Compile‘) { echo ‘编译开始‘ // 暂时打包报错 sh "‘$maven_home‘/bin/mvn install" } stage(‘Build Images‘) { echo ‘敬请期待!‘ } stage(‘Backup‘){ echo ‘旧版本软件包已经备份‘ } stage(‘Delete Old war‘){ echo "删除老的包" } stage(‘Deploy‘){ echo ‘部署!‘ sh ‘echo hello‘ // sh ‘scp /root/.jenkins/workspace/e-trade/e-trade-mapper/target/e-trade-mapper-1.0-SNAPSHOT.jar [email protected]:/home/guchen_test‘ } stage(‘Integration Testing‘) { echo "敬请期待!" } stage(‘UI Automated Testing‘) { echo "敬请期待!" } stage(‘Send Testing Report‘) { echo "敬请期待!" } }
以上是关于pipeline+sonar的主要内容,如果未能解决你的问题,请参考以下文章
SonarQube 在 Azure Pipelines 上失败,无法加载组件类 org.sonar.scanner.scan.filesystem.InputComponentStore