测试失败时Bitbucket管道条件执行

问题描述 投票:0回答:1

拥有执行 2 个步骤的 Bitbucket 管道:

  1. 运行 Python 测试并将报告工件保存在 XML 文件中
  2. 使用上述报告文件运行 SonarQube 扫描仪。

如果每个测试都正常,SonarQube 任务将运行并上传所有内容。如果任何测试失败,“SonarQube Scan”步骤将不会按预期运行。

是否可以在不考虑前一个(测试)失败的情况下运行“SonarQube Scan”步骤?当测试失败时,管道的总执行应被视为失败(红色)。

sonarqube sonarqube-scan bitbucket-pipelines
1个回答
0
投票

我通过使用

after-script
部分解决了这个问题。 我的
bitbucket-pipelines.yml
看起来像:

image: python:3.8

pipelines:
  default:
    - step:
        name: Execute Tests & Upload to Sonar
        script:
          - pip install poetry
          - poetry config virtualenvs.create false
          - poetry install
          - poetry run pytest
        artifacts:
          - test_report.xml
          - coverage.xml
        after-script:
          - pipe: sonarsource/sonarqube-scan:1.0.0
            variables:
              SONAR_HOST_URL: ${SONAR_HOST_URL}
              SONAR_TOKEN: ${SONAR_TOKEN}
© www.soinside.com 2019 - 2024. All rights reserved.