问题描述
我尝试过的所有方法都对我不起作用(YouTube上的多个网站和视频)。请给我链接其他有用的视频,或帮助我了解此过程。我发现使用gh-pages将网站部署到GitHub上要容易得多,但是在部署到GitLab时遇到了问题。
已经尝试将我的项目推送到GitLab,然后将其推送到CI / CD> Pipelines,我的项目在此成功构建,然后将Settings> Pages推送到404(等待超过1天)。我已经安装了“ .gitlab-ci.yml”文件(具有基本的HTML设置)。
顺便说一句,我应该推送预建网站还是已经转换?
现在就像这样:
- src
- fonts
- html
- images
- js
- sass
index.html
.gitattributes
.gitignore
.gitlab-ci.yml
LICENSE
README.md
编辑:我找到了解决我特定问题的方法。由于GitLab Pages是静态主机,因此在部署sass文件之前,您需要先编译它们,然后再进行部署。 这是我的gitlab-ci.yml文件。
image: alpine:latest
stages:
- compile
- deploy
compile:
stage: compile
image: node:8.15-alpine
script:
- yarn global add node-sass
- node-sass ./src/sass/main.scss ./src/css/styles.css --style compressed
only:
- master
artifacts:
paths:
- ./src/css
pages:
stage: deploy
script:
- mv src/ public
artifacts:
paths:
- public
在阶段编译时,请注意我如何指向您的 main.scss 文件路径。另外,还有编译文件 styles.css 的路径(您需要使用css样式的文件名,这在主html的<head>
部分中已提到)文件)。还要在工件行处检查路径,以便您可以正确地定向文件。如您所见,对于编译,我使用的是Yarn(无需安装任何工具即可使用)。编译完sass文件后,下一步是部署,该部署按计划对我有效。
希望它也对您有帮助!
解决方法
要在Gitlab上成功托管页面,您需要将源移动到public
目录并进行存档。示例.gitlab-ci.yml
可能是:
image: alpine:latest
pages:
stage: deploy
script:
- mv src/ public
artifacts:
paths:
- public