如何在没有 Maven 和 Docker 的情况下在 Jenkins 声明式管道中执行 SonarQube 扫描器
How to execute SonarQube scanner in Jenkins Declarative Pipeline without Maven and Docker
SonarQube 扫描器是否支持没有 maven 的 BlueOcean 管道插件,docker,如果支持,脚本在 Jenkinsfile 中如何工作?
我是 Jenkins 和 BlueOcean 的新手,已经尝试了所有可用的基本方面。
如果 SonarQube 插件确实支持声明式:
pipeline {
agent any
stages {
stage('SonarQube analysis') {
tools {
sonarQube 'SonarQube Scanner 2.8'
}
steps {
withSonarQubeEnv('SonarQube Scanner') {
sh 'sonar-scanner'
}
}
}
}
}
我们不能说SonarQube扫描仪支持或不支持BlueOcean。 BlueOcean 是一个表示层,显示阶段提供的数据(例如:日志)。
SonarQube 扫描仪生成日志,因此 BlueOcean 可以显示它。我不认为这种类型的关系可以归类为"support of"。
编辑:
您可以使用以下代码在声明式管道中执行分析:
pipeline {
agent any
stages {
stage('Build') {
steps {
def scannerHome = tool 'SonarQubeScanner3'
withSonarQubeEnv('SonarQube') {
sh "${scannerHome}/bin/sonar-scanner"
}
}
}
}
}
您还在 Manage Jenkins → Configure System → SonarQube servers
中添加了一个 SonarQube 服务器:
和 Manage Jenkins → Global Tool Configuration → SonarQube Scanner
中的 SonarQube 扫描仪:
姓名:
- 服务器必须与
withSonarQubeEnv
中使用的相同(在我的示例中它等于 "SonarQube")
- 扫描仪工具必须与
tool
中使用的相同(在我的示例中它等于 "SonarQubeScanner3")
您还必须选中复选框 Enable injection of SonarQube server configuration as build environment variables
。
解决了,只需要检查一般工具配置中的工具位置,并提供路径并在 jenkins 文件中调用它。
stage('PDNS-UI-Sonar') {
environment {
SONAR_SCANNER_OPTS = "-Xmx2g"
}
steps {
sh "pwd"
sh "/opt/sonar-scanner/bin/sonar-scanner -Dproject.settings=sonar-project.properties"
}
}
enter image description here
SonarQube 扫描器是否支持没有 maven 的 BlueOcean 管道插件,docker,如果支持,脚本在 Jenkinsfile 中如何工作?
我是 Jenkins 和 BlueOcean 的新手,已经尝试了所有可用的基本方面。
如果 SonarQube 插件确实支持声明式:
pipeline {
agent any
stages {
stage('SonarQube analysis') {
tools {
sonarQube 'SonarQube Scanner 2.8'
}
steps {
withSonarQubeEnv('SonarQube Scanner') {
sh 'sonar-scanner'
}
}
}
}
}
我们不能说SonarQube扫描仪支持或不支持BlueOcean。 BlueOcean 是一个表示层,显示阶段提供的数据(例如:日志)。
SonarQube 扫描仪生成日志,因此 BlueOcean 可以显示它。我不认为这种类型的关系可以归类为"support of"。
编辑:
您可以使用以下代码在声明式管道中执行分析:
pipeline {
agent any
stages {
stage('Build') {
steps {
def scannerHome = tool 'SonarQubeScanner3'
withSonarQubeEnv('SonarQube') {
sh "${scannerHome}/bin/sonar-scanner"
}
}
}
}
}
您还在 Manage Jenkins → Configure System → SonarQube servers
中添加了一个 SonarQube 服务器:
和 Manage Jenkins → Global Tool Configuration → SonarQube Scanner
中的 SonarQube 扫描仪:
姓名:
- 服务器必须与
withSonarQubeEnv
中使用的相同(在我的示例中它等于 "SonarQube") - 扫描仪工具必须与
tool
中使用的相同(在我的示例中它等于 "SonarQubeScanner3")
您还必须选中复选框 Enable injection of SonarQube server configuration as build environment variables
。
解决了,只需要检查一般工具配置中的工具位置,并提供路径并在 jenkins 文件中调用它。
stage('PDNS-UI-Sonar') {
environment {
SONAR_SCANNER_OPTS = "-Xmx2g"
}
steps {
sh "pwd"
sh "/opt/sonar-scanner/bin/sonar-scanner -Dproject.settings=sonar-project.properties"
}
}
enter image description here