GitLab 页面 - 如何使用任何回购名称?

GitLab pages - how to use any repo name?

问题

我有一个 GitLab 存储库 XXX/website-www,其中包含生成静态网站的代码。

我正在使用 GitLab CI 连续 integration/deployment。

目前,我决定使用 GitLab 页面来托管我的静态网站。这在未来很容易改变。

我发现这个简单的配置可以添加到我的 .gitlab-ci.yml 文件中:

pages:
  stage: deploy
  script:
  - <...>
  artifacts:
    paths:
    - <static_website_directory>
  only:
  - master

这很好用,但有一个问题。 GitLab 页面 url 现在是 XXX.gitlab.io/website-www

我需要能够从自定义域访问此网站,据我所知,这无法通过上述 URL.

我需要 XXX-website-www.gitlab.io

可能的解决方案

1) 获得我需要的 url 的一种方法是创建一个名为 XXX-website-www 的组,并在其中创建一个名为 XXX-website-www.gitlab.io.

的 repo

这有几个问题:

  1. 我必须为这个网站创建一个全新的命名空间,它与我的主组命名空间分开。
  2. 正如我上面所说,我可以在任何阶段轻松地从 GitLab 页面切换到另一个静态网站提供商,反之亦然。现在我的 group/project 名称必须更改才能让 GitLab 页面正常运行。

2) 另一种解决方案是进行回购镜像。我会从 XXX/website-www 镜像 XXX-website-www/XXX-website-www.gitlab.io,但我什至不确定你是否可以从另一个 gitlab 存储库镜像。

不幸的是,这还有另一个问题:持续集成将在 XXX/website-www 存储库上失败。

我还能如何实现这一目标?

3) 另一种解决方案是在 XXX/website-www.

旁边创建一个单独的 XXX-website-www/XXX-website-www.gitlab.io 存储库

我会更改 XXX/website-www 的持续集成,直接将 git add/commit/push 更改为 XXX-website-www/XXX-website-www.gitlab.io

然后我会使用 GitLab 页面 CI.

XXX-website-www/XXX-website.www.gitlab.io 进行初始提交

这个比较麻烦,还有上面1号的问题。在 CI.

中使用 git 似乎也很混乱

Another solution would be to create a separate XXX-website-www/XXX-website-www.gitlab.io repo alongside XXX/website-www.

I would change the continuous integration for XXX/website-www to do a direct git add/commit/push to XXX-website-www/XXX-website-www.gitlab.io.

嗯...您可以在 XXX/website.

中将 XXX-website-www/XXX-website-www.gitlab.io 引用为 submodule(显示为子文件夹)

一切都可以在 CI 个步骤中完成,在 XXX/website 中,这将在其关联的子文件夹中检出 XXX-website-www/XXX-website-www.gitlab.io
Add/commit/push 可以在该子文件夹中完成,前提是类似 add/commit 并且推送在其父存储库 XXX/website

中完成