gpt4 book ai didi

gitlab - 如何发布html报告

转载 作者:行者123 更新时间:2023-12-04 11:18:58 24 4
gpt4 key购买 nike

我正在使用 GitLab 管道来运行一些测试并生成覆盖率报告。

我想要做的是能够将生成的覆盖文件夹(包括一个 html 页面和一个 src 文件夹)发布到一些内部 GitLab 静态页面,一些团队成员可以查看。

我知道 gitlab pages概念,但这些步骤表明我必须为此使用静态站点生成器。

我的问题如下:

  • 该概念是否仅在发布在官方 GitLab 网站 ( gitlab.io ) 上时才可用,还是我可以使用我的本地 GetLab 安装(即,我的页面在 my.local.gitlab.server/mynamespace/thepagesproject 中可用)?
  • 我可以上传一个index.html吗?文件及其内容的文件夹并使其可访问?
  • 使用 的最佳方式是什么?现有 项目,以便向其中添加一些 html 页面(理想情况下,我想避免为此目的创建新项目)
  • 最佳答案

    我可以在自托管实例上使用 GitLab Pages 吗?

    是的,GitLab Pages 适用于自托管实例。您可能需要为 *.pages.<your-gitlab-domain-name> 注册一个通配符域名。 ,如果您仅通过 https 运行 gitlab,则生成 SSL 证书。

    拥有域后,编辑 /etc/gitlab/gitlab.rb并添加额外的设置,然后运行 ​​gitlab-ctl reconfigure (如果您仅通过 http 运行,请忽略 pages_nginx 设置:

    gitlab_pages['enable'] = true
    pages_external_url "https://pages.<your-gitlab-domain-name>"
    pages_nginx['redirect_http_to_https'] = true
    pages_nginx['ssl_certificate'] = "/etc/gitlab/ssl/pages.<your-gitlab-domain-name>.crt"
    pages_nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/pages.<your-gitlab-domain-name>.key"

    完成后,您将能够通过 <group>.pages.<your-gitlab-domain-name>/<project> 访问每个项目的页面。

    我可以上传任何我想要的页面吗?

    是的。每个 GitLab CI 作业都可以通过将内容写入 public 来创建要在 GitLab 页面中发布的内容。文件夹,并注册 public作为工件目录。最后一个 pages应将作业添加到 CI 管道,这会导致发布页面内容(覆盖之前存在的任何内容)。 public的所有内容目录将通过 <group>.pages.<your-gitlab-domain-name>/<project> 提供URL,这意味着您可以完全控制内容。

    请注意,CI 中的 pages 作业不需要任何脚本,只需要带有作业名称“pages”即可。这是触发页面发布的神奇作业名称。您可能希望添加作业限制,以便仅在主分支管道上运行。

    我可以将发布的页面添加到现有项目吗?

    是的。创建要发布的内容的任何步骤都应将内容写入 public子目录,并注册 public目录作为工件目录。
    my job:
    stage: build
    script:
    - echo "Do some things and write them to public directory" > public/index.html
    artifacts:
    paths:
    - public
    expire_in: 2 weeks

    注:我喜欢加 expire_in: 2 weeks限制工件保留的时间长度。一旦页面被发布,这些工件就不是真正需要的了。

    最后你需要添加一个 pages触发页面发布的作业:
    # This job does nothing but collect artifacts from other jobs and triggers the pages build
    # The artifacts are picked up by the pages:deploy job.
    pages:
    stage: deploy
    script:
    - ls -l public
    artifacts:
    paths:
    - public
    only:
    - master

    通常你只想在 master 分支上发布,但你可以自由选择何时发布页面运行。重要的是要注意,当页面发布运行时,它将完全替换以前发布的任何内容,因此您不能附加到现有内容(尽管有一些技巧可以让您实现类似的目标)。

    关于gitlab - 如何发布html报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48743076/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com