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

fpn*_*ick 3 gitlab gitlab-ci

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

CCH*_*CCH 6

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

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


Val*_*spa 5

似乎几年后还没有发生任何变化(或者我不知道)。

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'
Run Code Online (Sandbox Code Playgroud)

有几件事情你需要让它工作:

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

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

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

我希望这个能有一点帮助。