SonarQube扫描程序是否支持没有maven和docker的BlueOcean管道插件,如果它确实如何在Jenkinsfile中运行脚本?
我是Jenkins和BlueOcean的新手,并尝试过所有可能的基本方面。
如果SonarQube插件支持Declarative:
pipeline {
agent any
stages {
stage('SonarQube analysis') {
tools {
sonarQube 'SonarQube Scanner 2.8'
}
steps {
withSonarQubeEnv('SonarQube Scanner') {
sh 'sonar-scanner'
}
}
}
}
}
答案 0 :(得分:3)
我们不能说SonarQube扫描仪支持或不支持BlueOcean。 BlueOcean是一个表示层,显示由阶段提供的数据(例如:日志)。
SonarQube扫描仪生成日志,因此BlueOcean可以显示它。我不认为这种关系可以被归类为"支持"。
编辑:
您可以使用以下代码在Declarative Pipeline中执行分析:
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
。
答案 1 :(得分:1)
解决了一个只需要检查一般工具配置中的工具位置并给出路径adn在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"
}
}