centos7环境下在docker上安装gitlab并配置阿里云邮件通知

安装gitlab

  • 在/home/hjl/gitlab-ce,端口443:443,80:80,22:22

1.拉取镜像

docker pull twang2218/gitlab-ce-zh

2.运行容器

  • 下面命令把gitlab的配置文件及日志文件挂载到主机即非docker容器内,外面也能看到。方便docker问题时可以直接创建新的,数据还在
docker run -itd  --privileged=true --hostname sd.code.com -p 8443:443 -p 80:80 -p 822:22 --name gitlab --restart=unless-stopped -v /home/hjl/gitlab-ce/config:/etc/gitlab -v /home/hjl/gitlab-ce/logs:/var/log/gitlab -v /home/hjl/gitlab-ce/data:/var/opt/gitlab --network gitlab-net twang2218/gitlab-ce-zh:11.1.4

3.使用命令行修改用户密码

  • 进入容器
docker exec -it gitlab /bin/bash
  • 进入
gitlab-rails console production
  • 开始修改
irb(main):010:0> user=User.where(username:"你的用户名").first
=> #<User id:3 @你的用户名>
irb(main):011:0> user.password="你的密码"
=> "你的密码"
irb(main):012:0> user.save!

4.配置邮件通知

  • 进入容器
  • 修改/etc/gitlab/gitlab.rb
### Email Settings
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = '你的邮箱'
gitlab_rails['gitlab_email_display_name'] = 'Gitlab'
gitlab_rails['gitlab_email_reply_to'] = '你的密码'

  • 这里配置的是阿里云企业云邮箱
### GitLab email server settings
###! Docs: https://docs.gitlab.com/omnibus/settings/smtp.html
###! **Use smtp instead of sendmail/postfix.**

# 配置阿里企业云邮箱
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.mxhichina.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "你的邮箱"
gitlab_rails['smtp_password'] = "你的密码"
gitlab_rails['smtp_domain'] = "smtp.mxhichina.com"
gitlab_rails['smtp_authentication'] = "plain"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['smtp_ssl'] = true
  • 重新加载gitlab
gitlab-ctl reconfigure
  • 重启gitlab
gitlab-ctl restart
  • 测试邮件发送
#进入控制台
gitlab-rails console
#测试邮件服务是否正常
Notify.test_email("XXX@XXX.XX","title","gitlab").deliver_now
  • 账号root 密码rootroot

4.访问出现forbidden

  • 把宿主机IP加入白名单
#找到ip_whitelist
'ip_whitelist' => ["127.0.0.1","192.168.2.145","192.168.2.*"],
  • 重新加载服务

5.修改映射的地址

  • 修改配置文件gitlab.yml
vi data/gitlab-rails/etc/gitlab.yml

  • 找到关键字 * ## Web server settings *
# 将host的值改成映射的外部主机ip地址和端口,这里会显示在gitlab克隆地址
   ## Web server settings (note: host is the FQDN, do not include http://)
    host: 192.168.2.100
    port: 88
    https: false

修改外部访问的url

  • 修改config/gitlab.rb文件
# 配置http协议所使用的访问地址,不可加端口号默认为80
external_url 'http://192.168.2.100'
 
# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.199.231'
gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是run时22端口映射的222端口
:wq #保存配置文件并退出
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值