gitlab搭建从0到1

303 阅读2分钟

gitlab搭建从0到1

centos上安装docker

官网上提供了三种安装方式,选了社区安装方式最多的方案安装,基本上copy/parst就好

  1. 安装相关依赖包

     sudo yum install -y yum-utils \
      device-mapper-persistent-data \
      lvm2
    
  2. 将docker稳定仓库源添加到包管理器

    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    
  3. 安装docker社区版

    sudo yum install docker-ce docker-ce-cli containerd.io
    

    如果命令行上显示指纹匹配060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35, 直接安装即可,这串指纹由官方提供

  4. systemd 启动docker守护进程

    sudo systemctl start docker
    

到目前为止,docker进程已经在centos上跑起来,可以通过

sudo docker run hello-world

来验证

通过docker安装gitlab

  1. 拉取社区版的gitlab镜像, 大概700多兆

    sudo docker pull gitlab/gitlab-ce:latest
    
  2. 跑gitlab镜像, 将镜像的443暴露到服务器的8443,镜像的80端口暴露到服务器的8080,镜像的22端口暴露到服务器的8022

    sudo docker run --name gitlab --publish 8443:443 --publish 8080:80 --publish 8022:22 gitlab/gitlab-ce
    

至此,服务器上已经安装了gitlab,在浏览器中打开 http://${服务器ip}:8080 就可以看到登录页面了

注册账号,新建项目,结果准备clone的时候发现仓库地址是一堆乱码,字符串值为gitlab虚拟机的id,需要进去gitlab容器更改gitlab暴露url为服务器ip,具体操作如下

  1. 进入容器bash

    sudo docker exec -it gitlab /bin/bash
    
  2. 修改gitlab 配置

    vim /etc/gitlab/gitlab.rb
    

    修改external_url 字段为你的ip,然后重启即可

  1. 重启gitlab

    sudo docker restart gitlab
    
  2. 可以看到仓库显示也正常了

踩坑

中间也踩了不少坑,有个坑很无语,记录下,在改gitlab配置的时候,手贱,在文件头不小心多敲了个 冒号,

然后导致gitlab重启无限失败,感觉不对劲,翻日志才发现,这里记录下解决过程

sudo docker ps -a // 查看当前镜像运行情况,发现gitlab一直是挂的
sudo docker logs gitlab // 查看gitlab启动日志,发现多了个冒号
sudo docker cp d4d53dae1200:/etc/gitlab/gitlab.rb ./tt // 由于之前没有把容器配置持久化保存到本机,所以将gitlab配置拷贝到主机修改,d4d53dae1200是gitlab镜像id,如果你知道配置在主机的哪个位置,直接改也可以
sudo docker cp ./tt d4d53dae1200:/etc/gitlab/gitlab.rb // 修改完拷贝回去
sudo docker restart gitlab // 重启