问题
我有一个 GitLab 存储库XXX/website-www
,其中包含生成静态网站的代码。
我正在使用 GitLab CI 进行持续集成/部署。
现在,我决定使用 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
,并在内部创建一个名为的repo XXX-website-www.gitlab.io
。
这有几个问题:
- 我必须为这个网站创建一个全新的命名空间,它与我的主要组命名空间分开。
- 正如我上面所说,我可以在任何阶段轻松地从 GitLab 页面切换到另一个静态网站提供商,反之亦然。现在我的组/项目名称必须更改以允许 GitLab 页面运行。
2)另一种解决方案是进行回购镜像。我会XXX-website-www/XXX-website-www.gitlab.io
从镜像XXX/website-www
,但我什至不确定您是否可以从另一个 gitlab 存储库镜像。
可悲的是,这还有另一个问题:持续集成将在XXX/website-www
repo 上失败。
我还能如何实现这一目标?
3)另一种解决方案是XXX-website-www/XXX-website-www.gitlab.io
在XXX/website-www
.
我会将持续集成更改为XXX/website-www
直接 git add/commit/push to XXX-website-www/XXX-website-www.gitlab.io
.
XXX-website-www/XXX-website.www.gitlab.io
然后,我将对GitLab pages CI进行初始提交。
这很麻烦,仍然存在上面第1个问题。在 CI 中使用 git 似乎也很混乱。