微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决`jekyll build` 有错误,但 gitlab ci 仍在继续

我有一个在 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 尽管输出中存在错误,但返回退出代码 0。您可以尝试添加 --strict_front_matter 选项,让 Jekyll 返回非零退出代码。

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