通过电子邮件发送 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_KEY和MAILGUN_DOMAIN
我需要类似的东西,所以这是我的管道中的一个片段。
我还在博客中记录了所有内容 post。 https://medium.com/@vdespa/send-gitlab-ci-reports-artifacts-via-e-mail-86bc96e66511
希望对您有所帮助。
我们的 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_KEY和MAILGUN_DOMAIN
我需要类似的东西,所以这是我的管道中的一个片段。
我还在博客中记录了所有内容 post。 https://medium.com/@vdespa/send-gitlab-ci-reports-artifacts-via-e-mail-86bc96e66511
希望对您有所帮助。