成功构建后,GitLab Pages 部署步骤失败

问题描述 投票:0回答:3

我正在尝试通过 gitlab 页面举办 Reveal.js 演示。该存储库可以在这里找到:https://gitlab.com/JanGregor/demo-slides

我的

.gitlab-ci.yml
相当简单:

image: node:4.2.2

pages:
  cache:
    paths:
    - node_modules/
  script:
  - npm install
  - node_modules/.bin/gulp
  artifacts:
    paths:
    - build
  only:
  - master

在提交给 master 之后,出现了问题。页面任务本身已执行并运行良好。它甚至在日志中显示我的构建目录已被扫描并且已找到工件。

奇怪的是,后续的

pages:deploy
任务失败了。它只说:

页面提取失败

任何帮助将不胜感激,因为我不知道下一步该去哪里。当尝试使用 npm 实现部署流程时,文档本身并没有多大帮助。

提前感谢大家!

gitlab gitlab-ci gitlab-ci-runner
3个回答
14
投票

显然,页面只能从工件下名为“public”的文件夹中发布。


10
投票

来自 GitLab Pages 文档

要使用 GitLab Pages,

.gitlab-ci.yml
的内容必须遵循以下规则:

  1. 必须定义名为
    pages
    的特殊作业
  2. GitLab Pages 提供的任何静态内容都必须放置在
    public/
    目录下
  3. artifacts
    必须定义
    public/
    目录的路径

“从 A 到 Z 的 GitLab 页面”指南中也提到了(有点离题):

...GitLab Pages 只会考虑名为

public

 的目录中的文件。


0
投票
现在到 2024 年,我们可以在

public

 之外的另一个文件夹中发布 GitLab 页面。

为此,请在您的

.gitlab-ci.yml

中添加:
publish: dist

一个简短但有效的示例:

pages: script: - ls artifacts: paths: - dist publish: dist
有关更多信息,

我在那里找到了发布语法

如果您愿意,可以

官方文档中解释了一些解决方法

© www.soinside.com 2019 - 2024. All rights reserved.