运行扫描后,SonarCloud质量检查不起作用

时间:2019-07-09 11:59:47

标签: bitbucket bitbucket-pipelines sonarcloud

我正在尝试执行sonarcloud-scan后运行sonarcloud-quality-gate检查。之所以这样做,是因为我希望如果质量门检查失败,bitbucket构建管道也应该失败。

这样做我会收到一些错误 Quality Gate失败:无法获取扫描仪报告:[Errno 2]没有这样的文件或目录:'/opt/atlassian/pipelines/agent/build/.bitbucket/pipelines/generated/pipeline/pipes/sonarsource/sonarcloud-scan/sonarcloud -scan.log'

这是我的bitbucket.yml的样子。

image: node:10.15.3

clone:
  depth: full              # SonarCloud scanner needs the full history to assign issues properly

definitions:
  caches:
    sonar: ~/.sonar/cache  # Caching SonarCloud artifacts will speed up your build

  steps:
  - step: &build-test-sonarcloud
      name: Build, test and analyze on SonarCloud
      caches:
        - node
        - sonar
      script:
        - npm install --quiet
        - npm run test:coverage  
        - pipe: sonarsource/sonarcloud-scan:0.1.5
          variables:
            SONAR_TOKEN: ${SONAR_TOKEN}
            EXTRA_ARGS: '-Dsonar.sources=src -Dsonar.tests=src -Dsonar.test.inclusions="**.test.jsx" -Dsonar.javascript.lcov.reportPaths=coverage/lcov.info'
        - pipe: sonarsource/sonarcloud-quality-gate:0.1.1
          variables:
            SONAR_TOKEN: ${SONAR_TOKEN}

pipelines:
  default:
    - step: *build-test-sonarcloud

尽管solarcloud-scan管道成功运行。

1 个答案:

答案 0 :(得分:0)

问题是sonarsource/sonarcloud-quality-gate管道需要sonarsource/sonarcloud-scan管道的较新版本。 (自sonarsource/sonarcloud-quality-gate管道首次发布以来就是这种情况。)

像这样更改管道配置:

    - pipe: sonarsource/sonarcloud-scan:1.0.1
      variables:
        SONAR_TOKEN: ${SONAR_TOKEN}
        EXTRA_ARGS: '-Dsonar.sources=src -Dsonar.tests=src -Dsonar.test.inclusions="**.test.jsx" -Dsonar.javascript.lcov.reportPaths=coverage/lcov.info'
    - pipe: sonarsource/sonarcloud-quality-gate:0.1.3
      variables:
        SONAR_TOKEN: ${SONAR_TOKEN}

查看最新版本的简单方法是在管道编辑器中。 当您编辑bitbucket-pipelines.yml文件时,这样的侧边栏会打开, 您可以在其中输入“声纳”来过滤列表:

pipes sidebar

然后,单击管道以查看详细信息,并记下使用的版本。