我为JAVA准备了什么
我使用Jenkins作为CI/CD服务器,并为我的JAVA项目创建了一个Jenkinsfile,为了提高扫描效果和质量,我使用了maven声纳插件。mvn sonar:sonar命令在target/sonar/report-task.txt中生成一个文件。该文件包含与扫描过程相关的信息,使用这些信息,我可以使用生成的taskId调用SonarQube REST API,然后可以使用analysisId调用REST API,并根据质量条件确定管道是否中断。
我对Javascript的需求(任何其他类型的项目)
我正在尝试为一个Javascript项目做一些类似的事情,但这一次,我从命令行使用声纳扫描器,但我意识到没有作为report-task.txt生成的文件(我相信这个文件只由maven sonar-plugin生成)。因此,我想知道是否有一种方法可以生成这种信息。
我真的需要taskId的值,以便在扫描程序进程启动后动态调用SonarQube REST API。
发布于 2018-01-15 17:02:44
由于您使用的是Jenkinsfile,因此不需要手动执行此操作。来自the docs
node {
stage('SCM') {
git 'https://github.com/foo/bar.git'
}
stage('SonarQube analysis') {
withSonarQubeEnv('My SonarQube Server') {
sh 'mvn clean package sonar:sonar'
} // SonarQube taskId is automatically attached to the pipeline context
}
}
// No need to occupy a node
stage("Quality Gate"){
timeout(time: 1, unit: 'HOURS') { // Just in case something goes wrong, pipeline will be killed after a timeout
def qg = waitForQualityGate() // Reuse taskId previously collected by withSonarQubeEnv
if (qg.status != 'OK') {
error "Pipeline aborted due to quality gate failure: ${qg.status}"
}
}
}如果您没有使用Maven进行构建和分析,那么只需适当地输入正确的命令即可。
发布于 2020-10-22 16:03:10
该文件包含与扫描过程相关的信息:.scannerwork/report-task.txt
https://stackoverflow.com/questions/48232628
复制相似问题