我写的工作很少.gitlab-ci.yml,我的问题类似于这个SO问题。但是,提供和接受的答案不适用于我的情况。
作业具有after_script节,该节在主要任务完成或失败时执行。
问题:我根据主要任务是成功还是失败发送了电子邮件警报,但是我无法在警报电子邮件中找到任何表明工作结果的Gitlab CI变量。
我如何在after_script部分中判断主要任务是成功还是失败?”
如果使用when: on_failure,那么我的问题是我何时可以定义我的when: on_success工作,因为这些工作将取决于该工作之前的工作-因此,我只能执行其中的一项。我一直在尝试为此在Gitlab变量中找到变量,但找不到。
另外,在我的脚本中-我可以写if条件,但我正在检查是否有人可以提供更好的替代解决方案
问题:我根据主要任务是成功还是失败发送电子邮件警报,但我在警报电子邮件中找不到任何指示要澄清的作业结果的 Gitlab CI 变量。
另外,在我的后脚本中 - 我可以编写 if 条件,但我正在检查是否有人可以提供更好的替代解决方案
stage也许您会对提供电子邮件通知的新工作感兴趣。
完整的示例.gitlab-ci.yml:
stages:
- build
- notify
build_job:
stage: build
script:
- echo "Your awesome script"
allow_failure: false # it's here just clarify the workflow, it's false by default
email_alarm:
stage: notify
when: on_failure
script:
- echo "Your alarm notification to email"
email_success:
stage: notify
when: on_success
script:
- echo "Your success notification to email"
Run Code Online (Sandbox Code Playgroud)
所以,这里是:仅当失败时email_alarm才会执行。build_job并且email_success只有成功完成才会执行build_job。
如果您需要通过build_job电子邮件提供一些工件,请使用gitlab artifactsinbuild_job和email_alarm/email_successjobs。
| 归档时间: |
|
| 查看次数: |
657 次 |
| 最近记录: |