Gitlab 如何通过smtp方式配置邮件通知提醒 – 21运维
通知: .-...

Gitlab 如何通过smtp方式配置邮件通知提醒

Gitlab 21运维 10661浏览 0评论

21运维 原创文章,转载请注明出处。

搭建好gitlab以后,我们很多时候需要知道项目进展变动,以及用户改动情况,需要我们管理员接受一下通知。 本文章就是简单阐述下Gitlab 如何通过smtp方式配置邮件通知提醒。之前本网站写过一篇如何搭建gitlab的文章,可以参考《CentOS服务器上搭建Gitlab步骤、日常管理以及异常故障排查》。下边就讲解一下这个集成安装包的smtp邮件配置方式,以及其他方式安装如何通过smtp发送邮件。原理都是一样的。

1,首先切换到gitlab安装目录并查找smtp配置文件:

[root@21yunwei gitlab]#vim  /etc/gitlab/gitlab.rb
注:基本所有关于gitlab的配置都是修改这个配置文件,比如web入口地址以及端口、smtp等等。
################################
# GitLab email server settings #
################################
# see https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/smtp.md#smtp-settings
# Use smtp instead of sendmail/postfix.

 gitlab_rails['smtp_enable'] = true
 gitlab_rails['smtp_address'] = "mail.21yunwei.com"
 gitlab_rails['smtp_port'] = 25
 gitlab_rails['smtp_user_name'] = "gitlab"
 gitlab_rails['smtp_password'] = "xxxxxx"
 gitlab_rails['smtp_domain'] = "21yunwei.com"
 gitlab_rails['smtp_authentication'] = "login"
 gitlab_rails['smtp_enable_starttls_auto'] = true
 gitlab_rails['smtp_tls'] = false
 gitlab_rails['smtp_openssl_verify_mode'] = 'none' # Can be: 'none', 'peer', 'client_once', 'fail_if_no_peer_cert', see http://api.rubyonrails.org/classes/ActionMailer/Base.html
 gitlab_rails['smtp_ca_path'] = "/etc/ssl/certs"
 gitlab_rails['smtp_ca_file'] = "/etc/ssl/certs/ca-certificates.crt"

修改之后重新配置,生效即可使用:gitlab-ctl reconfigure
重启gitlab:gitlab-ctl restart
注意,一些朋友忘记配置环境变量,导致该命令不生效。请修改/etc/profile讲gitlab-ctl的bin路径加进去并source /etc/profile生效。
现在添加或改动用户,就可以看到gitlab@21yunwei.com发送邮件了。

 

当然,这个邮箱配置请根据自己的实际情况进行设置。可以参考官网的例子:
https://docs.gitlab.com/omnibus/settings/smtp.html#smtp-settings

感谢运维刘志威测试并反馈效果。

转载请注明:21运维 » Gitlab 如何通过smtp方式配置邮件通知提醒

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

  1. 为什么在测试SMTP配置会报这样的错误 SocketError: getaddrinfo: Temporary failure in name resolution from /opt/gitlab/embedded/lib/ruby/2.3.0/net/smtp.rb:542:in `initialize' from /opt/gitlab/embedded/lib/ruby/2.3.0/net/smtp.rb:542:in `open' from /opt/gitlab/embedded/lib/ruby/2.3.0/net/smtp.rb:542:in `tcp_socket' from /opt/gitlab/embedded/lib/ruby/2.3.0/net/smtp.rb:552:in `block in do_start' from /opt/gitlab/embedded/lib/ruby/2.3.0/timeout.rb:91:in `block in timeout' from /opt/gitlab/embedded/lib/ruby/2.3.0/timeout.rb:101:in `timeout'
    aaa2018-08-07 17:19 回复