首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用taskId和analysisId的声纳扫描仪报告文件

使用taskId和analysisId的声纳扫描仪报告文件
EN

Stack Overflow用户
提问于 2018-01-13 03:11:19
回答 2查看 1.7K关注 0票数 1

我为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。

EN

回答 2

Stack Overflow用户

发布于 2018-01-15 17:02:44

由于您使用的是Jenkinsfile,因此不需要手动执行此操作。来自the docs

代码语言:javascript
复制
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进行构建和分析,那么只需适当地输入正确的命令即可。

票数 0
EN

Stack Overflow用户

发布于 2020-10-22 16:03:10

该文件包含与扫描过程相关的信息:.scannerwork/report-task.txt

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48232628

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档