【问题标题】:How to activate GitLab Pages in an existing project?如何在现有项目中激活 GitLab 页面?
【发布时间】:2019-09-07 23:38:40
【问题描述】:

我想为我在 GitLab 上已经的 Java 项目发布我的代码覆盖率报告。我使用 JaCoCo 在位于 app/target/site/jacoco/ 的文件夹中生成代码覆盖率报告。

我看到我必须激活 GitLab 页面。但是这个link on the GitLab documentation 说我必须创建一个新项目。我的 Java 项目已经在 GitLab 项目中,在这种情况下我不知道该怎么做。

【问题讨论】:

    标签: java gitlab code-coverage jacoco


    【解决方案1】:

    如果您已经有了一个新项目,则不必创建一个新项目

    GitLab 文档对此有些困惑。文档的意思是您可以通过使用现有的另一个模板项目来开始您的 Pages 配置。这并不意味着您只能将 GitLab 页面用于新项目。

    要在项目中使用 GitLab 页面,请将 .gitlab-ci.yml 放在存储库的根目录中。在这里,您可以指定如何生成和发布 GitLab Pages 站点的内容,例如

    pages:
      stage: deploy
      script:
      - mkdir .public
      - cp -r * .public
      - mv .public public
      artifacts:
        paths:
        - public
      only:
      - master
    

    来源:https://about.gitlab.com/2016/04/07/gitlab-pages-setup/#add-gitlab-ci

    TL,DR GitLab Pages 配置在您的 CI/CD 配置文件 (.gitlab-ci.yml) 中定义。您可以随时添加或更改此文件,不仅是在创建新项目时。


    编辑:
    发布的静态内容必须位于项目根目录的公用文件夹中。没有办法解决这个问题。但是,这不是问题,您可以在 CI/CD 期间简单地将您的东西移到那里,您不需要更改存储库内容本身。

    如果你想发布app/target/site/jacoco,你可以这样做:

    pages:
      stage: deploy
      script:
      - mv app/target/site/jacoco/ public
      artifacts:
        paths:
        - public
      only:
      - master
    

    【讨论】:

    • 目前我的gitlab-ci.yml 看起来像这样:pastebin.com/Zu9TiF0T 和我的 html 页面已经在 GitLab 的一个文件夹中。我可以把我的html文件的路径app/target/site/jacoco/而不是创建一个新文件夹public吗?
    • 不,他们必须在public。我从 pastebin 链接添加了特定于您的 CI/CD 配置的信息。
    • 感谢您的帮助。我不知道为什么,但是mv app/target/site/jacoco/ public 命令什么也没做。检查我的 GitLab 存储库后,public 中没有任何内容。可能是什么原因?
    • 以后你的存储库中不会有任何东西,但不一定有。您只需要将静态文件作为工件发布到 public/.出于调试目的,您可以使用简单的ls 命令打印您的目录内容,即app/target/site/jacoco/ 真的在您认为的位置。 publicmvcommand 等之后的内容是什么
    • 文档然后说发布后我应该去 MyProject -> Settings -> Pages 查看页面的 URL。我看到构建集显然工作。我没有看到“页面”项目。有什么额外的步骤吗?
    猜你喜欢
    • 2022-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-25
    • 2017-02-03
    • 2016-03-04
    • 2012-02-29
    • 2013-09-22
    相关资源
    最近更新 更多