Gitlab简介
GitLab是一个基于Git实现的在线代码仓库托管软件,你可以用gitlab自己搭建一个类似于Github一样的系统。
GitLab具有两种不同的产品:
- GitLab社区版(CE)–免费使用
- GitLab企业版(EE)–需要购买许可证才能使用。
docker安装gitlab
参考:https://docs.gitlab.com/omnibus/docker/
docker run -d --name gitlab \
--hostname 192.168.93.9 \
-p 443:443 -p 80:80 -p 2222:22 \
--restart always \
-v /srv/gitlab/config:/etc/gitlab \
-v /srv/gitlab/logs:/var/log/gitlab \
-v /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
登录gitlab,浏览器访问http://192.168.93.9,用户名默认为root,密码按照提示进行修改.
gitlab配置邮箱
参考:https://docs.gitlab.com/omnibus/settings/smtp.html
登录qq邮箱,选择设置–>账户–>开启qq邮箱IMAP/SMTP服务,获取授权码。
修改gitlab容器配置文件
# docker exec -it gitlab vi /etc/gitlab/gitlab.rb
配置email server
### GitLab email server settings
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "123456@qq.com"
gitlab_rails['smtp_password'] = "pavqawxajvxzbjgc"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
配置email
### Email Settings
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = '123456@qq.com'
gitlab_rails['gitlab_email_display_name'] = 'gitlab admin'
gitlab_rails['gitlab_email_reply_to'] = '123456@qq.com'
gitlab_rails['gitlab_email_subject_suffix'] = '[gitlab]'
重启gitlab服务或重新加载配置
docker restart gitlab
docker exec -it gitlab gitlab-ctl reconfigure
进入gitlab配置控制台
[root@test ~]# docker exec -it gitlab gitlab-rails console
--------------------------------------------------------------------------------
GitLab: 13.2.2 (64fc0138d55) FOSS
GitLab Shell: 13.3.0
PostgreSQL: 11.7
--------------------------------------------------------------------------------
Loading production environment (Rails 6.0.3.1)
irb(main):001:0>
验证邮件配置是否正确
irb(main):001:0> ActionMailer::Base.delivery_method
=> :smtp
irb(main):002:0> ActionMailer::Base.smtp_settings
=> {:authentication=>:login, :address=>"smtp.qq.com", :port=>465, :user_name=>"123456@qq.com", :password=>"pavqawxajvxzbjgc", :domain=>"smtp.qq.com", :enable_starttls_auto=>true, :tls=>true, :ca_file=>"/opt/gitlab/embedded/ssl/certs/cacert.pem"}
irb(main):003:0>
验证是否能够成功发送邮件
irb(main):003:0> Notify.test_email('123456@qq.com', 'Message Subject', 'Message Body').deliver_now
登录qq邮箱查看接收到的邮件:
此时可以使用邮箱登录gitlab,也可以修改邮箱地址,选择头像右键Settings–>Main settings–>Email修改后保存配置并完成验证。
参考:
https://blog.csdn.net/u012881331/article/details/84647261
https://blog.csdn.net/wxx729418277/article/details/84860866