试图将带有html + scss的站点部署到gitlab,并且不知道该怎么做

如何解决试图将带有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样式的文件名,这在主html的<head>部分中已提到)文件)。还要在工件行处检查路径,以便您可以正确地定向文件。如您所见,对于编译,我使用的是Yarn(无需安装任何工具即可使用)。编译完sass文件后,下一步是部署,该部署按计划对我有效。

希望它也对您有帮助!

解决方法

要在Gitlab上成功托管页面,您需要将源移动到public目录并进行存档。示例.gitlab-ci.yml可能是:

image: alpine:latest

pages:
  stage: deploy
  script:
  - mv src/ public
  artifacts:
    paths:
    - public

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?