Gitlab 覆盖范围徽章不起作用

标签 gitlab gitlab-ci-runner

我正在使用 Gitlab CI/CDpytest 部署 Django 应用程序来测试代码和 pytest-cov > 用于生成覆盖率报告

我的.gitlab-ci.yml

stages:
  - test
  - deploy

image: python:3.6

test:
  stage: test
  script:
    - pip install pipenv
    - pipenv install
    - pipenv run py.test src/
  artifacts:
    paths:
      - htmlcov/

pages:
  stage: deploy
  dependencies:
    - test
  script:
    - mv htmlcov/ public/
  artifacts:
    paths:
      - public
    expire_in: 30 days
  only:
    - master

staging:
  stage: deploy
  script:
    - apt-get update -qy
    - apt-get install -y ruby-dev
    - gem install dpl
    - dpl --provider=heroku --app=app-staging --api-key=$HEROKU_PRODUCTION_API_KEY
  only:
    - master

production:
  stage: deploy
  script:
    - apt-get update -qy
    - apt-get install -y ruby-dev
    - gem install dpl
    - dpl --provider=heroku --app=app-production --api-key=$HEROKU_PRODUCTION_API_KEY
  when: manual
  only:
    - master

由于存储库位于组命名空间下,因此覆盖率报告的 URL 为

https://<group>.gitlab.io/<repository>/

对于覆盖率报告,

[![coverage report](https://gitlab.com/<group>/<repository>/badges/master/coverage.svg?job=coverage)](https://<group>.gitlab.io/<repository>/)

但这显示未知

enter image description here

我已经为 python 设置了测试覆盖率解析正则表达式

enter image description here

最佳答案

我知道这是一个老问题,但这可能会帮助其他人将来看到这个问题。 除了在设置CI/CD页面中设置测试覆盖率解析正则表达式之外,您需要确保测试覆盖率百分比打印在CI 的控制台日志。打印的行应该与给定的正则表达式匹配。因此,Gitlab 可以解析并将其保存为代码覆盖率百分比。

我已经更详细地回答了同一问题:Gitlab coverage badge always unknow

关于Gitlab 覆盖范围徽章不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51227950/

相关文章:

Gitlab:如何将原始日志收集到工件中?

Gitlab - 无法为 CI 和 CD 构建验证远程服务器

python - 预接收 Hook 中的 git push 选项

Gitlab 提交消息

git - Git从终端而不是从VS Code提交正确的用户

go - Gitlab-CI 运行器 : ignore self-signed certificate

提交消息中的 Git 魔术关键字(签名人、合着者、修复等)

reactjs - 在 gitlab 运行器上使用 asar 构建的 React Electron 应用程序会创建 JavaScript 错误

gitlab - 更改 Gitlab CI Runner 用户

gitlab-ci - gitlab ci缓存没有匹配的文件