【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。
hostname | IP地址 | 操作系统版本 | Docker版本 |
---|---|---|---|
docker | 192.168.3.127 | centos 7.6 | 24.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
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
3.3 检查docker compose 版本
检查Docker compose版本,确保2.0以上版本。
[root@docker ~]# docker compose version Docker Compose version v2.18.1
三、Docker CompseV2版本升级(可选)
3.1 创建目录
新建目录
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} mkdir -p $DOCKER_CONFIG/cli-plugins
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
3.3 文件权限授权
下载的docker compose二进制文件进行授权。
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
3.4 查看docker compose版本
查看docker compose版本
[root@jeven tmp]# docker compose version Docker Compose version v2.19.1
四、下载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
五、部署GitLab服务器
5.1 创建目录
- 创建以下目录,进入/data/gitlab/中。
mkdir -p /data/gitlab/{data,logs,config} && cd /data/gitlab/
5.2 编辑docker-compose.yaml文件
编辑docker-compose.yaml文件
vim /data/gitlab/docker-compose.yml
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
5.3 部署GitLab
使用docker compose 快速部署GitLab
docker compose up -d
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
六、访问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:/#
- 进入控制台
gitlab-rails console -e production
- 查询超级管理用户
user = User.where(id:1).first
- 修改密码
user.password='admin36987'
- 保存与退出
# 保存 user.save! # 退出 exit
6.3 访问GitLab首页
修改后的账号密码为root/admin36987
6.4 设置中文语言
在Preferences页面中,找到“Localization”区域,将“Language”选项修改为“简体中文”。