docker swarm 部署 gitlab-ee 并设置https
    
  
      
      
     
    
      
        通过docker swarm 安装部署gitlab服务可以更方便的升级版本,以及高效运维。本篇主要介绍gitlab的docker swarm 安装方式。
- 初始化docker swarm 集群
 
1
   | $ sudo docker swarm init
   | 
 
- 创建lvm逻辑磁盘卷,格式化并挂载/gitlab目录下
 
1 2 3 4 5
   | $ sudo fdisk /dev/vdb $ sudo pvcreate /dev/vdb1 $ sudo vgcreate gitlab /dev/vdb1 $ sudo lvcreate -L 199G -n gitlab gitlab $ sudo mkfs.xfs /dev/gitlab/gitlab
   | 
 
- 创建gitlab数据挂载目录
 
1
   | $ sudo mkdir -pv /gitlab/{config,data,logs}
  | 
 
- 开始部署gitlab-ee版本
 
1 2 3 4 5 6 7 8 9 10 11 12
   |  $ sudo docker service create \    --name "git-inside-gitlab" \    --hostname git.test.cn \    --network pilipa-network \    --replicas 1 \    --publish "mode=host,published=2222,target=22" \    --publish "mode=host,published=80,target=80" \    --publish "mode=host,published=443,target=443" \    --mount type=bind,src=/gitlab/config,dst=/etc/gitlab \    --mount type=bind,src=/gitlab/logs,dst=/var/log/gitlab \    --mount type=bind,src=/gitlab/data,dst=/var/opt/gitlab \ "gitlab/gitlab-ee:11.4.9-ee.0"
   | 
 
- 配置gitlab.rb
 
1 2 3 4
   | external_url "https://git.test.cn" nginx['redirect_http_to_https'] =true nginx['ssl_certificate'] = "/etc/gitlab/ssl/git.test.cn.crt" nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/git.test.cn.key"
   | 
 
- 重新加载配置文件使其生效
 
1
   | $ sudo gitlab-ctl reconfigure
   | 
 
- 通过阿里云的SLB代理到ECS上搭建的gitlab服务上,然后设置dns解析即可。