• 【Git管理工具】使用Docker部署GitLab服务器


    一、GitLab介绍

    1.1 GitLab简介

    1.GitLab是一款基于Git的开源代码托管平台,提供版本控制功能、代码审查、问题跟踪、CI/CD等一系列项目管理工具。
    2.使用GitLab可以轻松管理团队中的开发者,进行代码的协作开发和管理。GitLab也提供了丰富的项目集成和API,可以让开发者更快地进行集成和部署。
    3.相比其他类似平台的优势在于其官方提供了完整的容器部署方案,并可以与Kubernetes等容器编排平台集成,使其更加易于管理和扩展。

    1.2 GitLab特点

    1.GitLab具有完整的代码管理和自动化化构建、测试和部署工具,以及安全性和DevOps特性,是一个强大的团队协作工具和软件开发平台。
    2.GitLab是一个基于Web的Git仓库管理工具,具有以下特点:

    • 代码仓库管理:GitLab能够管理团队的代码仓库,包括版本控制、分支管理、合并请求等。

    • 代码托管:GitLab提供了一个完整的Git代码托管解决方案,支持从私有服务器到公共托管服务,满足不同团队的需求。

    • CI/CD工具:GitLab提供了内置的持续集成和持续交付工具,可以实现自动化构建、测试和部署,并提供了强大的管道编辑器和测试报告。

    • 安全管理:GitLab支持用户权限分配、角色管理、双因素身份验证、代码扫描和安全漏洞报告等功能,保证代码的安全性。

    • DevOps平台:GitLab提供了全面的DevOps解决方案,可以帮助团队协作、提高效率、加速交付,从而推动业务的增长和创新。

    二、本次实践介绍

    2.1 本地环境规划

    本次实践为个人测试环境,操作系统版本为centos7.6。

    hostnameIP地址操作系统版本Docker版本
    docker192.168.3.127centos 7.624.0.2

    2.2 本次实践介绍

    1.本次实践部署环境为个人测试环境,生产环境请谨慎使用;
    2.在Docker环境下成功部署GitLab服务器。

    三、本地环境检查

    3.1 检查Docker服务状态

    检查Docker服务是否正常运行,确保Docker正常运行。

    [root@docker ~]# systemctl status docker
    ● docker.service - Docker Application Container Engine
       Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
       Active: active (running) since Sun 2023-08-27 09:22:02 CST; 6 days ago
         Docs: https://docs.docker.com
     Main PID: 6082 (dockerd)
        Tasks: 17
       Memory: 833.9M
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    3.2 检查Docker版本

    检查Docker版本

    [root@docker ~]# docker version
    Client: Docker Engine - Community
     Version:           24.0.2
     API version:       1.43
     Go version:        go1.20.4
     Git commit:        cb74dfc
     Built:             Thu May 25 21:55:21 2023
     OS/Arch:           linux/amd64
     Context:           default
    
    Server: Docker Engine - Community
     Engine:
      Version:          24.0.2
      API version:      1.43 (minimum version 1.12)
      Go version:       go1.20.4
      Git commit:       659604f
      Built:            Thu May 25 21:54:24 2023
      OS/Arch:          linux/amd64
      Experimental:     false
     containerd:
      Version:          1.6.21
      GitCommit:        3dce8eb055cbb6872793272b4f20ed16117344f8
     runc:
      Version:          1.1.7
      GitCommit:        v1.1.7-0-g860f061
     docker-init:
      Version:          0.19.0
      GitCommit:        de40ad0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    3.3 检查docker compose 版本

    检查Docker compose版本,确保2.0以上版本。

    [root@docker ~]# docker compose version
    Docker Compose version v2.18.1
    
    • 1
    • 2

    三、Docker CompseV2版本升级(可选)

    3.1 创建目录

    新建目录

    DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
    mkdir -p $DOCKER_CONFIG/cli-plugins
    
    • 1
    • 2

    3.2 下载Docker CompseV2二进制包

    下载Docker CompseV2二进制包

    
    curl -SL https://github.com/docker/compose/releases/download/v2.19.1/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
    
    • 1
    • 2

    3.3 文件权限授权

    下载的docker compose二进制文件进行授权。

    chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
    
    • 1

    3.4 查看docker compose版本

    查看docker compose版本

    [root@jeven tmp]# docker compose version
    Docker Compose version v2.19.1
    
    • 1
    • 2

    四、下载GitLab镜像

    从docker hub下载GitLab镜像

    [root@docker gitlab]# docker pull gitlab/gitlab-ce:latest
    latest: Pulling from gitlab/gitlab-ce
    7b1a6ab2e44d: Already exists
    6c37b8f20a77: Pull complete
    f50912690f18: Pull complete
    bb6bfd78fa06: Pull complete
    2c03ae575fcd: Pull complete
    839c111a7d43: Pull complete
    4989fee924bc: Pull complete
    666a7fb30a46: Pull complete
    Digest: sha256:5a0b03f09ab2f2634ecc6bfeb41521d19329cf4c9bbf330227117c048e7b5163
    Status: Downloaded newer image for gitlab/gitlab-ce:latest
    docker.io/gitlab/gitlab-ce:latest
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    五、部署GitLab服务器

    5.1 创建目录

    • 创建以下目录,进入/data/gitlab/中。
    mkdir -p /data/gitlab/{data,logs,config}  && cd /data/gitlab/
    
    • 1

    5.2 编辑docker-compose.yaml文件

    编辑docker-compose.yaml文件

    vim /data/gitlab/docker-compose.yml
    
    • 1
    version: "3"
    services:
      gitlab:
        container_name: gitlab
        image: gitlab/gitlab-ce:latest
        hostname: '192.168.3.127'
        restart: always
        ports:
          - 8011:8011
          - 8443:443
          - 2222:22/tcp
        volumes:
          - /etc/localtime:/etc/localtime
          - /data/gitlab/data:/var/opt/gitlab
          - /data/gitlab/config:/etc/gitlab
          - /data/gitlab/logs:/var/log/gitlab
        environment:
          GITLAB_OMNIBUS_CONFIG: |
            external_url 'http://192.168.3.127:8011'
            gitlab_rails['gitlab_shell_ssh_port'] = 2222
        deploy:
          resources:
            limits:
               memory: 4G
            reservations:
               memory: 1G
        
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    5.3 部署GitLab

    使用docker compose 快速部署GitLab

    docker compose up -d
    
    • 1

    在这里插入图片描述

    5.4 查看容器状态

    J检查容器运行状态

    [root@docker gitlab]# docker ps
    CONTAINER ID   IMAGE                     COMMAND             CREATED          STATUS                             PORTS                                                                      NAMES
    9e815d9727fa   gitlab/gitlab-ce:latest   "/assets/wrapper"   16 seconds ago   Up 14 seconds (health: starting)   80/tcp, 0.0.0.0:8011->8011/tcp, :::8011->8011/tcp, 0.0.0.0:2222->22/tcp, :::2222->22/tcp, 0.0.0.0:8443->443/tcp, :::8443->443/tcp   gitlab
    
    • 1
    • 2
    • 3

    六、访问gitlab仓库

    6.1 进入GitLab登录页

    访问地址:http://192.168.3.127:8011/
    将IP地址替换为自己服务器IP地址

    在这里插入图片描述

    6.2 重置登录密码

    • 进入容器内部
    [root@docker gitlab]# docker exec -it gitlab /bin/bash
    root@192:/#
    
    • 1
    • 2
    • 进入控制台
    gitlab-rails console -e production
    
    • 1
    • 查询超级管理用户
    user = User.where(id:1).first
    
    • 1

    在这里插入图片描述

    • 修改密码
    user.password='admin36987'
    
    • 1
    • 保存与退出
    # 保存
    user.save!
    # 退出
    exit
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    6.3 访问GitLab首页

    修改后的账号密码为root/admin36987

    在这里插入图片描述

    6.4 设置中文语言

    在Preferences页面中,找到“Localization”区域,将“Language”选项修改为“简体中文”。

    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    深入理解计算机系统(CSAPP) —— 第二章 信息的表示和处理
    Allegro中导入中文或者logo操作指导
    工厂模式进阶用法,如何动态选择对象?
    高级深入--day41
    将日志压缩并归档到 Amazon S3 Glacier 存储层中
    【机器人学-雅可比矩阵】
    【亲测】简易商城小程序源码-易优CMS后台
    WLAN与WiFi各是什么意思有什么区别
    CPS-8910
    软件工程理论与实践 (吕云翔) 第十一章: 软件编程课后习题及其答案解析
  • 原文地址:https://blog.csdn.net/jks212454/article/details/132644191