前言

基于Ubuntu 20.04搭建gitlab服务

首先准备一台云服务或自己准备一台测试服务器(4核4GB内存+8核8GB内存),我用的是戴尔主机重装的Ubuntu桌面中文版本系统 镜像下载地址,重装系统过程就不多说了。==重装系统后最重要的事是换源(稍微强调下)==

新系统安装完成后继续初始化基本服务(Docker+traefik),这里可以借鉴前篇文章 ubuntu-20.04 一键初始化traefik web服务,初始化过程比较漫长约5-10分钟左右。

成功安装如下图

xnip2021-07-07_16-18-36.jpg

1,安装

1.1 创建 gitlab 工作目录
// 创建文件夹
mkdir gitlab.halobug.cn

// 进入工作目录
cd ./gitlab.halobug.cn
1.2 pull 官方容器镜像
// 拉取镜像
docker pull gitlab/gitlab-ee:latest

// 检查是否更新成功(成功如下图)
docker images | grep gitlab/gitlab-ee

xnip2021-07-07_16-18-36.jpg

1.3 为避免端口冲突,修改服务器 ssh默认22端口改为其他2222
vim /etc/ssh/sshd_config

下图所示 xnip2021-07-07_16-18-36.jpg

1.4 创建docker-compose.yml 配置如下:
touch docker-compose.yml

docker-compose.yml 配置文件

# docker-compose.yml
    
version: '3.6'

services:
  gitlab:
    image:  gitlab/gitlab-ee:latest
    hostname: gitlab.halobug.cn
    restart: always
    expose:
        - 80
        - 443
    ports:
        #注释请删除 ssh登录端口可改为其他 避免冲突
        - 0.0.0.0:22:22
    labels:
        - "traefik.enable=true"
        - "traefik.docker.network=traefik"
        - "traefik.http.routers.gitlab.entrypoints=http"
        - "traefik.http.routers.gitlab.rule=Host(`gitlab.halobug.cn`)"
        - "traefik.http.services.gitlab-backend.loadbalancer.server.scheme=http"
        - "traefik.http.services.gitlab-backend.loadbalancer.server.port=80"
    volumes:
        - "./config:/etc/gitlab"
        - "./logs:/var/log/gitlab"
        - "./data:/var/opt/gitlab"
        - "/etc/localtime:/etc/localtime"
    environment:
        GITLAB_OMNIBUS_CONFIG: |
            #注释请删除 gitlab 初始化密码
            gitlab_rails['initial_root_password'] = "12345678"
            #注释请删除 外部链接用于仓库地址
            external_url 'http://gitlab.halobug.cn'
        
    networks:
        - traefik
networks:
  traefik:
    external: true
1.5 启动服务
// 本机测试绑定 hosts
127.0.0.1 gitlab.halobug.cn

//启动成功如下图
docker-compose down && docker-compose up -d

gitlab 服务启动过程较慢大约3分钟左右(初始化内容较多),也可查看dashboard xnip2021-07-07_16-18-36.jpg

xnip2021-07-07_16-18-36.jpg

启动成功后访问

1.6 访问域名 gitlab.halobug.cn

输入账号(root)+密码(12345678)

1.6.1 登录页

xnip2021-07-07_16-18-36.jpg

1.6.2 首页

xnip2021-07-07_16-18-36.jpg

到此安装成功~

2,测试仓库

2.1 创建仓库

xnip2021-07-07_16-18-36.jpg

2.2 设置ssh密钥自行百度,也可使用下面命令
ssh-keygen -t rsa -C "local@test.com"
// 一直敲回车就行了

xnip2021-07-07_16-18-36.jpg

2.3 克隆仓库+push文件测试

xnip2021-07-07_16-18-36.jpg

了解更多内容请访问 https://www.zhihu.com/people/halobug/posts