Gitlab部署管理

一、安装

1.docker安装gitlab
shell 复制代码
sudo docker run -d \
  -p 6080:80 -p 6022:22 \
  --name gitlab \
  --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
2.存储说明
  • 存储应用数据:/srv/gitlab/data -> /var/opt/gitlab
  • 存储日志数据:/srv/gitlab/logs -> /var/log/gitlab
  • 存储 gitlab 配置文件:/srv/gitlab/config -> /etc/gitlab
3.Gitlab 配置
shell 复制代码
docker exec -it gitlab /bin/bash
vi /etc/gitlab/gitlab.rb
docker restart gitlab

# 初始root密码在登录时不能手动设置,查看日志,输出在文件
# cat /etc/gitlab/initial_root_password
4.配置邮件
shell 复制代码
# gitlab/config/gitlab.rb
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "gitlab@jsdfycwlkjyxg.wecom.work"
gitlab_rails['smtp_password'] = "EfiSJYPexHjVYE2S"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['smtp_pool'] = false

docker exec -it gitlab /bin/bash
gitlab-ctl reconfigure
gitlab-ctl restart

gitlab-rails console
Notify.test_email('xxx@qq.com','gitlab邮箱通知测试','这是正文内容').deliver_now
遇到openSSL报错

启用如下配置

shell 复制代码
gitlab_rails['smtp_openssl_verify_mode'] = 'none'                                          
                        
gitlab_rails['smtp_ca_path'] = "/etc/ssl/certs"                                            
gitlab_rails['smtp_ca_file'] = "/etc/ssl/certs/ca-certificates.crt"
报错From必须与user一致
shell 复制代码
gitlab_rails['gitlab_email_from'] = 'gitlab@jsdfycwlkjyxg.wecom.work'              
gitlab_rails['gitlab_email_display_name'] = 'Gitlab'
邮件域名不对
shell 复制代码
external_url 'https://git.xxx.com'

注意:设置external_url后,gitlab将自动将nginx开放到对应端口,https对应443,http对应80,需注意docker容器的端口映射。

相关推荐
Skilce13 小时前
基于GitLab CI/CD + Kubernetes的自动化部署平台搭建
ci/cd·kubernetes·gitlab
行者-全栈开发14 小时前
Jenkins 与 GitLab 深度集成实战:从 Webhook 到 Merge Request 全流程自动化
gitlab·jenkins·webhook·merge request·multibranch·source plugin·ci/cd 自动化
zoipuus3 天前
上传repo仓库到自己的gitlab
linux·gitlab·shell·全志·tina
刘马想放假3 天前
Git 从入门到进阶:一篇吃透版本管理的实战指南
git·gitlab
NexTunnel7 天前
公司老项目还在 SVN,远程维护怎么做更稳?
git·svn·gitlab·远程工作·nextunnel
想你依然心痛8 天前
持续集成在嵌入式开发中的实践:GitLab CI与交叉编译——自动化构建、固件生成
ci/cd·自动化·gitlab
Sean‘9 天前
GitLab 升级后 502:Puma 反复重启问题处理记录
docker·gateway·gitlab
NexTunnel9 天前
告别传统组网,也能安全访问公司 GitLab / SVN
安全·svn·gitlab
霸道流氓气质1 个月前
GitLab CI/CD 完全指南
linux·ci/cd·gitlab
sbjdhjd1 个月前
从零搭建企业级 CI/CD(下):Jenkins+GitLab+Harbor 全链路实战指南
git·servlet·ci/cd·云原生·云计算·gitlab·jenkins