服务器要求:
cpu:2+;
内存:2G+;
1.gitlab 镜像拉取
# gitlab-ce 为稳固版本,前面不填写版本则默认 pull 最新 latest 版本
$ docker pull gitlab/gitlab-ce
2. 运行 gitlab 镜像
$ docker run -d -p 1443:443 -p 180:80 -p 122:22 --name gitlab --restart always -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
# -d:后盾运行
# -p:将容器外部端口向外映射
# --name:命名容器名称
# -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录
3. 配置
按下面的形式,gitlab 容器运行没问题,但在 gitlab 上创立我的项目的时候,生成我的项目的 URL 拜访地址是按容器的 hostname 来生成的,也就是容器的 id。作为 gitlab 服务器,咱们须要一个固定的 URL 拜访地址,于是须要配置 gitlab.rb(宿主机门路:/home/gitlab/config/gitlab.rb)
# gitlab.rb 文件内容默认全是正文
$ vim /home/gitlab/config/gitlab.rb
# 配置 http 协定所应用的拜访地址, 不加端口号默认为 180
external_url 'http://192.168.199.231:180'
# 配置 ssh 协定所应用的拜访地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.199.231'
gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是 run 时 22 端口映射的 222 端口
:wq #保留配置文件并退出
4. 发送邮件配置
配置文件:/etc/gitlab/gitlab.rb
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxxxxxxxx@qq.com"
gitlab_rails['smtp_password'] = "ejdoukrfgj"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'xxxxxxxxx@qq.com'
smtp_user_name: 发件邮箱号
smtp_password: 受权码非邮箱登录明码
配置好重启服务器
5. 批改管理员明码
切换到相应门路下
cd /opt/gitlab/bin/
关上控制台 gitlab-rails console
查问用户账号信息并赋值给 u u=User.where(id:1).first
设置该用户名的明码,明码这里不要应用引号,不然会无奈登录胜利 u.password=12345678
确认明码 u.password_confirmation=12345678
保存信息 u.save!
退出exit