1

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

这样做我得到一些像这样的错误质量门失败:无法获得扫描仪报告:[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 管道运行成功。

4

1 回答 1

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文件时,会打开一个像这样的侧边栏,您可以在其中通过输入“sonar”来过滤列表:

管道侧边栏

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

于 2019-10-05T20:29:14.650 回答