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
这有几个问题:
- 我必须为这个网站创建一个全新的命名空间,它与我的主组命名空间分开。
- 正如我上面所说,我可以在任何阶段轻松地从 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
中完成
问题
我有一个 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
.
这有几个问题:
- 我必须为这个网站创建一个全新的命名空间,它与我的主组命名空间分开。
- 正如我上面所说,我可以在任何阶段轻松地从 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 toXXX-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