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

Send Gitlab-CI artifacts via e-mail

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

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

另一种共享它们的方法是从您的作业脚本(此处文档:https://docs.gitlab.com/ee/user/project/pages/index.html)将它们发布到 gitlab 页面中,但它不会发送电子邮件。

似乎几年过去了,一切都没有改变(或者我不知道)。

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_KEYMAILGUN_DOMAIN

我需要类似的东西,所以这是我的管道中的一个片段。

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

希望对您有所帮助。