`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 一个非- 零退出代码。
我在 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 一个非- 零退出代码。