从gitlab项目发布覆盖结果

时间:2018-02-01 12:41:56

标签: gitlab

在gitlab.com的项目中,我运行测试和覆盖率分析。我想发布结果(HTML文件)。我阅读了this页面,我在.gitlab.yml文件中有一个条目来发布结果:

pages:
  stage: publish
  dependencies:
    - run-test-coverage
  script:
    - mv _build/test public/
  artifacts:
    paths:
      - public
  when: always

作业通过,但我无法找到此报告的发布位置。我在工件中看到生成的文件,但这不是用户友好的,因为gitlab告诉我“源无法显示,因为它存储为作业工件。您可以下载它。”我正在使用dockerhub中的gitlab-ce(如果重要的话)。

3 个答案:

答案 0 :(得分:0)

我还没有尝试过,但是如果您在链接页面上往下看,会看到以下内容:

  

您还需要将目录从coverage /重命名为public /,因为这是GitLab Pages希望在其中找到静态网站的目录。

在示例中定义了一个单独的阶段来发布结果:

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

答案 1 :(得分:0)

GitLab页面不仅适用于公共项目。实际上,项目可见性根本不重要: here

因此,只需将您的html文件移动到.gitlab-ci.yml内即可公开发布网站:

pages:
  script:
  - mv coverage public
  artifacts:
    paths:
    - public
  only:
  - master

答案 2 :(得分:0)

如果它是内部项目或私有项目,则除非您启用了GitLab页面访问控件,否则它将无法工作:https://docs.gitlab.com/ee/ci/pipelines/job_artifacts.html#browsing-artifacts