通过电子邮件发送Gitlab-CI工件

时间:2017-08-23 15:35:36

标签: gitlab gitlab-ci

我们的Gitlab管道会生成一些性能图表,我希望通过电子邮件将其发送给每个团队成员。 到目前为止,它们被标记为工件,因此Gitlab会保留它们。 Gitlab有什么方法可以实现这个目标吗?或者我应该在工作脚本中这样做吗?

2 个答案:

答案 0 :(得分:6)

目前无法通过gitlab界面的电子邮件发送工件。你确实必须从你的工作脚本中发送它们 管道完成后,Gitlab可以发送电子邮件(请参阅设置>集成>管道电子邮件),但它不会附加工件。

分享它们的另一种方法是将它们发布在你的工作脚本的gitlab页面中(doc here:https://docs.gitlab.com/ee/user/project/pages/index.html),但它不会发送电子邮件。

答案 1 :(得分:4)

似乎几年以后,什么都还没有改变(或者我不知道)。

send_email:
    stage: notify
    when: on_failure
    script: curl -s --user "api:$MAILGUN_API_KEY" 
      "https://api.mailgun.net/v3/$MAILGUN_DOMAIN/messages"
      -F from='Gitlab <gitlab@example.com>'
      -F to=$GITLAB_USER_EMAIL
      -F subject='Test results + report'
      -F text='Testing some Mailgun awesomeness!'
      -F attachment='@reports/report.html'

要使其正常工作,您需要做一些事情:

  • 在另一个作业中生成工件(要上传的文件;我的文件是reports/report.html
  • 定义变量 MAILGUN_API_KEY MAILGUN_DOMAIN

我需要类似的东西,所以这是我的管道中的代码段。

我还在博客文章中记录了所有内容。 https://medium.com/@vdespa/send-gitlab-ci-reports-artifacts-via-e-mail-86bc96e66511

我希望这会有所帮助。