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容器的端口映射。

相关推荐
全栈工程师修炼指南6 小时前
告别手动构建!Jenkins 与 Gitlab 完美协作,根据参数自动化触发CI/CD流水线实践
运维·ci/cd·自动化·gitlab·jenkins
xiaok2 天前
分支管理提交代码
git·gitlab·github
*老工具人了*3 天前
Terraform整合到GitLab+Jenkins工具链
gitlab·jenkins·terraform
走上未曾设想的道路4 天前
中标麒麟7.4为gitlab添加Registry
gitlab
韩zj4 天前
docker部署Gitlab社区版,步骤以及外网访问出现502的解决方式
docker·容器·gitlab
走上未曾设想的道路4 天前
gitlab流水线与k8s集群的联通
kubernetes·gitlab
走上未曾设想的道路4 天前
中标麒麟7.4部署gitlab-runner
gitlab
xiaok5 天前
把代码上传到gitee的时候,怎么忽略node_modules文件夹
git·gitlab·github
deeper_wind5 天前
OpenEuler部署gitlab(小白的“升级打怪”成长之路)
gitlab
-KamMinG6 天前
“从零到一:使用GitLab和Jenkins实现自动化CI/CD流水线”
自动化·gitlab·jenkins