问题
我有一个GitLab仓库XXX/website-www
,其中包含用于生成静态网站的代码。
我正在使用GitLab CI进行持续集成/部署。
就目前而言,我已经决定使用GitLab页面来托管我的静态网站。将来很容易改变。
我找到了可以添加到我的.gitlab-ci.yml
文件中的简单配置:
pages:
stage: deploy
script:
- <...>
artifacts:
paths:
- <static_website_directory>
only:
- master
这很好用,但是有一个问题。现在,GitLab页面的网址为XXX.gitlab.io/website-www
。
我需要能够从自定义域访问此网站,并且据我所知,上述URL无法做到这一点。
我需要像XXX-website-www.gitlab.io
这样的东西。
可能的解决方案
1)一种获取我需要的url的方法是创建一个名为XXX-website-www
的组,并在其中创建一个名为XXX-website-www.gitlab.io
的存储库。
这有两个问题:
2)另一个解决方案是做repo镜像。我会从XXX-website-www/XXX-website-www.gitlab.io
镜像XXX/website-www
,但是我什至不确定是否可以从另一个gitlab存储库中镜像。
可悲的是,这还有另一个问题:XXX/website-www
存储库中的持续集成将失败。
我还能怎么实现呢?
3)另一个解决方案是在XXX-website-www/XXX-website-www.gitlab.io
旁边创建一个单独的XXX/website-www
回购。
我将更改XXX/website-www
的持续集成,以直接对XXX-website-www/XXX-website-www.gitlab.io
进行git add / commit / push。
然后我将使用GitLab页面CI对XXX-website-www/XXX-website.www.gitlab.io
进行初始提交。
这是一个很麻烦的问题,但仍然存在上面数字1的问题。在CI中使用git似乎也很混乱。
答案 0 :(得分:0)
另一种解决方案是与XXX / website-www一起创建单独的XXX-website-www / XXX-website-www.gitlab.io回购。
我将更改
XXX/website-www
的持续集成,以直接对XXX-website-www/XXX-website-www.gitlab.io
进行git add / commit / push。
好吧...您可以在XXX-website-www/XXX-website-www.gitlab.io
中将XXX/website
引用为submodule(显示为子文件夹)。
在CI步骤中,可以在XXX/website
内完成所有操作,这将在与其关联的子文件夹中检出XXX-website-www/XXX-website-www.gitlab.io
。
可以在该子文件夹中完成添加/提交/推送,只要在其父存储库XXX/website