基于输出的Gitlab管道失败

基于输出的Gitlab管道失败,gitlab,gitlab-ci,Gitlab,Gitlab Ci,我正在Gitlab管道中使用docker容器()进行一些测试。这个管道总是成功的,但是如果容器在其输出中报告“失败”,我希望管道失败。当前,如果在终端输出中报告“失败”,则仍会报告退出代码0(因为扫描本身工作),因此Gitlab会通过管道 我是Gitlab的新手,但熟悉Jenkins,在Jenkins中,使用终端输出可能会导致作业失败。Gitlab中有类似的概念吗?感谢评论中的@secustor为我指出了一个类似的问题。我希望在Gitlab中有一些本机功能,但我找不到 相反,我查询了容器日志和退

我正在Gitlab管道中使用docker容器()进行一些测试。这个管道总是成功的,但是如果容器在其输出中报告“失败”,我希望管道失败。当前,如果在终端输出中报告“失败”,则仍会报告退出代码0(因为扫描本身工作),因此Gitlab会通过管道


我是Gitlab的新手,但熟悉Jenkins,在Jenkins中,使用终端输出可能会导致作业失败。Gitlab中有类似的概念吗?

感谢评论中的@secustor为我指出了一个类似的问题。我希望在Gitlab中有一些本机功能,但我找不到

相反,我查询了容器日志和退出代码,然后根据结果将退出代码设置为1

在一个.gitlab-ci.yml中(我在将逻辑拆分为多行时遇到问题,所以它被阻塞在一行中):


这回答了你的问题吗@secustor感谢您提供了一些帮助,并在下面发布了我的解决方案。再次感谢。
  script:
  - docker run --name containername nablac0d3/sslyze --regular $URL
  - if [[ "$(docker logs containername >& container-logs ; cat container-logs | grep 'FAIL' | wc -l)" -gt 0 ]] || [[ "$(docker container wait containername)" -eq 1 ]]; then exit 1; fi