繁体   English   中英

如何在 GitLab CI 的管道中获取先前阶段/作业的结果(成功或失败)?

[英]How to get the results (succeeded or failed) of previous stages/jobs in a pipeline of GitLab CI?

在一个管道中有多个阶段。 如何在管道的最后阶段/作业中获得先前阶段/作业的结果(成功或失败)?

一种方法是使用 gitlab-ci 作业 api 从其响应中查找状态; 但是,取决于您的用例; 您还可以在同一作业的“after_script”中使用CI_JOB_STATUS

您可以使用自定义变量作为标志,您可以根据CI_JOB_STATUS在同一作业的 after 脚本中设置它。

注意: CI_JOB_STATUS可以是successfailedcanceled

您可以使用“ artifacts:reports:dotenv ”功能

查看以下代码:

---
build:
  stage: build
  script:
    - VAR1=foo
    - VAR2=bar
    - echo VAR1="${VAR1}" > $CI_PROJECT_DIR/variables.env
    - echo VAR2="${VAR2}" >> $CI_PROJECT_DIR/variables.env
  artifacts:
    reports:
      dotenv: variables.env

test:
  stage: test
  script:
    - echo VAR1 is $VAR1
    - echo VAR2 is $VAR2

这是许多人对 GitLab 提出的著名问题,请查看此处,以上代码仅取自此讨论。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM