html - 试图将带有 html + scss 的站点部署到 gitlab,但不知道该怎么做
问题描述
我已经尝试过的一切都对我不起作用(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样式的文件名,在<head>
你的主html文件部分提到)。还要检查工件行的路径,以便您可以正确引导文件。如您所见,对于编译,我使用的是 Yarn(无需安装任何东西即可使用它)。编译我的 sass 文件后,下一阶段是部署,这按计划对我有用。
希望对您也有帮助!
解决方案
要在 Gitlab 上成功托管您的页面,您需要将源代码移动到public
目录并存档。示例.gitlab-ci.yml
可能是:
image: alpine:latest
pages:
stage: deploy
script:
- mv src/ public
artifacts:
paths:
- public
推荐阅读
- c# - "不能隐式转换类型'System.Generic.Collection.IEnumerable
到 - r - R - Shiny - 如何将整个选项卡面板导出为 png/pdf/excel?
- android - 如何在 android studio 中将 MathView 和波斯文本与正确格式结合在一起
- linux - 使用任何 VLAN 标记接收和 TC 重定向流量
- javascript - 插入对象是匹配数组
- r - 将 p 值添加到 polr 模型(用于模型摘要)
- typescript - 如何排除类字段被继承或以某种方式覆盖它?
- android - RecyclerView 和 ListView 在某些设备上出现偏移——可能的图形故障
- reactjs - 如何使用 Context with Hooks 在 ReactJS 中保持状态更新
- javascript - FormData 中的 Nodejs 额外数据