`jekyll build` 有错误但 gitlab ci 仍然继续

`jekyll build` has error but gitlab ci still continues

我在 Gitlab 页面上有一个 Jekyll 网站 运行,我的其中一个页面包含错误。 这个错误是由 Jekyll 发现并报告的,但是网站仍然部署,只是没有那个页面。

在 Gitlab 的作业输出中,我看到以下内容:

$ jekyll build -d public
...
Bundle complete! 5 Gemfile dependencies, 29 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-linux-musl]
Configuration file: /builds/TheOddler/mjb/_config.yml
            Source: /builds/TheOddler/mjb
       Destination: /builds/TheOddler/mjb/public
 Incremental build: disabled. Enable with --incremental
      Generating... 
             Error: YAML Exception reading /builds/TheOddler/mjb/_work/immaculate.md: (<unknown>): did not find expected key while parsing a block mapping at line 2 column 1
       Jekyll Feed: Generating feed for posts
                    done in 1.104 seconds.
 Auto-regeneration: disabled. Use --watch to enable.
Uploading artifacts for successful job 00:09
Uploading artifacts...

所以它显示 Error: YAML Exception ... 但随后仍然继续,好像一切正​​常。

我的 .gitlab-ci.yml 文件中的作业如下所示:

build-jekyll:
  stage: build
  image: jekyll/jekyll:4.2.0
  script:
  - jekyll build -d public
  artifacts:
    paths:
    - public
  only:
  - master

为什么会这样?有没有办法让流程失败,或者至少将此报告为警告,以便我知道出了什么问题?

谢谢!

发生这种情况是因为 Jekyll,尽管输出中有错误,returns 的退出代码为 0。您可以尝试添加 --strict_front_matter 选项让 Jekyll return 一个非- 零退出代码。