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

一、什么是GitLab

1.1.GitLab简介

GitLab 是一个开源的 DevOps 平台,它基于 Git 版本控制系统提供了从项目规划、源代码管理到持续集成、持续部署、监控和安全的完整生命周期管理。GitLab 是一个为开发者提供协作工作的工具,它使得团队能够高效地在同一个应用程序内完成整个软件开发过程。

1.2.GitLab特点

  1. **全功能的CI/CD:**GitLab 提供了内置的持续集成和持续部署(CI/CD)功能,使开发团队能够自动化代码的构建、测试和部署过程,从而提高软件交付的速度和质量。

  2. **单一应用程序:**与需要集成多个独立工具的其他解决方案不同,GitLab 提供了一个单一的应用程序来处理开发生命周期中的所有阶段。这减少了维护成本,避免了插件不兼容的问题,并提高了效率。

  3. **项目管理和议题跟踪:**GitLab 提供了灵活的问题跟踪系统,允许用户创建、管理和跟踪议题(issues)。团队可以使用看板(Kanban)板进行项目管理,规划迭代和跟踪进度。

  4. **代码审查:**通过合并请求(Merge Requests, MRs),GitLab 提供了代码审查功能,以确保代码质量,并通过讨论来改进代码实现。

  5. **安全和合规性:**GitLab 强调安全性,提供了动态和静态的应用程序安全测试、依赖扫描和容器扫描,以便在代码发布之前检测潜在的安全问题。

  6. **集成:**尽管 GitLab 是一个全面的DevOps工具,它也提供了与其他工具(如JIRA、Slack、Kubernetes等)的集成能力,以便团队可以使用他们喜欢的工具。

  7. **自托管和云托管选项:**GitLab 提供了多种部署选项,包括完全托管的GitLab.com服务以及可以在私有服务器上自托管的GitLab CE(社区版)和EE(企业版)。

  8. **可扩展性和可定制性:**企业可以根据自己的需求定制和扩展 GitLab 的功能,例如通过使用API或编写自定义的GitLab CI的YAML文件。

  9. **社区支持:**GitLab 拥有一个活跃的社区,用户可以从社区获得帮助,分享最佳实践,或者为GitLab的发展贡献代码。

  10. **开源:**GitLab CE 是开源的,这意味着用户可以自由使用、修改和分发软件,这提供了高度的透明度和可定制性。

GitLab 作为一个综合性的 DevOps 平台,它的目标是简化软件开发工作流程,使开发、运维以及安全团队能够在一个连贯的环境中协同工作,从而加快交付速度,减少操作复杂性,并提高软件的质量和安全性。

GitLab地址:The most-comprehensive AI-powered DevSecOps platform | GitLab

二、前期准备

2.1.服务器准备

推荐浪浪云服务器,稳定!高防!!有保证!!!

浪浪云官方新上的活动,4H4G一年仅需要259,活动链接:浪浪云 - 提供高防 稳定 有保障

系统我这边使用的是centos,但是用的Docker部署,用其他操作系统同样可以

2.2.连接服务器

连接过程参考**浪浪云帮助文档,如果是独立IP正常走22的ssh端口即可

2.3.安装Docker以及Docker Compose

安装Docker,使用国内源

yum update #更新软件源

输入Y确定跟新,可以看到浪浪云的网速还是非常快的

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun #安装Docker使用阿里源

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

[root@ECS3682 ~]# docker -v

Docker version 26.0.0, build 2ae903e

[root@ECS3682 ~]# systemctl start docker

[root@ECS3682 ~]# 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 Thu 2024-04-11 03:49:34 EDT; 2s ago

Docs: https://docs.docker.com

Main PID: 92646 (dockerd)

Tasks: 8

Memory: 33.4M

CGroup: /system.slice/docker.service

└─92646 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

4月 11 03:49:32 ECS3682 systemd[1]: Starting Docker Application Container Engine...

4月 11 03:49:32 ECS3682 dockerd[92646]: time="2024-04-11T03:49:32.905107057-04:00" level=info msg="Starting up"

4月 11 03:49:32 ECS3682 dockerd[92646]: time="2024-04-11T03:49:32.961431066-04:00" level=info msg="Loading containers: start."

4月 11 03:49:34 ECS3682 dockerd[92646]: time="2024-04-11T03:49:34.188213741-04:00" level=info msg="Firewalld: interface docker0 already part of docker zone, retu>

4月 11 03:49:34 ECS3682 dockerd[92646]: time="2024-04-11T03:49:34.382595216-04:00" level=info msg="Loading containers: done."

4月 11 03:49:34 ECS3682 dockerd[92646]: time="2024-04-11T03:49:34.419428998-04:00" level=info msg="Docker daemon" commit=8b79278 containerd-snapshotter=false sto>

4月 11 03:49:34 ECS3682 dockerd[92646]: time="2024-04-11T03:49:34.419677146-04:00" level=info msg="Daemon has completed initialization"

4月 11 03:49:34 ECS3682 dockerd[92646]: time="2024-04-11T03:49:34.467028373-04:00" level=info msg="API listen on /run/docker.sock"

4月 11 03:49:34 ECS3682 systemd[1]: Started Docker Application Container Engine.

安装Docker Compose

curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s-uname -m` > /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose #添加可执行权限

docker-compose --version #查看版本

三、正式部署GitLab

3.1.创建对应的目录以及配置文件

mkdir -p /data/gitlab/{data,logs,config} && cd /data/gitlab/

3.2.创建docker-compose.yml文件

vim /data/gitlab/docker-compose.yml

对应内容如下

version: "3"

services:

gitlab:

container_name: gitlab

image: gitlab/gitlab-ce:latest

hostname: '浪浪云ip'

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 '浪浪云:8011'
    gitlab_rails['gitlab_shell_ssh_port'] = 2222
    deploy:
    resources:
    limits:
    memory: 4G
    reservations:
    memory: 1G

3.3.使用docker compose启动容器

docker compose up -d

如果速度过慢的话可以更改国内源

sudo vim /etc/docker/daemon.json

#添加如下配置文件

{

"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]

}

#保存配置文件

sudo systemctl daemon-reload

#重启Docker

sudo service docker restart

dokcer ps #容器状态

3.4.配置端口转发

推荐浪浪云服务器,稳定!高防!!有保证!!!

来到浪浪云服务器管理界面

转发上面对应的那几个端口号,如果是独立IP的话,就可以不用进行端口转发

通过浪浪云的IP:转发的80端口

四、GitLab设置

4.1.重置登录密码

进入容器

[root@docker gitlab]# docker exec -it gitlab /bin/bash

root@gitlab:/#

进入控制台

gitlab-rails console -e production

查询管理员密码

user = User.where(id:1).first

#修改密码

user.password='langlangyun'

保存

user.save!

退出

exit

4.2.设置为中文

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

相关推荐
秋名山小桃子14 分钟前
Kunlun 2280服务器(ARM)Raid卡磁盘盘符漂移问题解决
运维·服务器
与君共勉1213815 分钟前
Nginx 负载均衡的实现
运维·服务器·nginx·负载均衡
努力学习的小廉22 分钟前
深入了解Linux —— make和makefile自动化构建工具
linux·服务器·自动化
MZWeiei25 分钟前
Zookeeper基本命令解析
大数据·linux·运维·服务器·zookeeper
Arenaschi44 分钟前
在Tomcat中部署应用时,如何通过域名访问而不加端口号
运维·服务器
小张认为的测试1 小时前
Linux性能监控命令_nmon 安装与使用以及生成分析Excel图表
linux·服务器·测试工具·自动化·php·excel·压力测试
waicsdn_haha1 小时前
Java/JDK下载、安装及环境配置超详细教程【Windows10、macOS和Linux图文详解】
java·运维·服务器·开发语言·windows·后端·jdk
良许Linux1 小时前
0.96寸OLED显示屏详解
linux·服务器·后端·互联网
蜜獾云1 小时前
docker 安装雷池WAF防火墙 守护Web服务器
linux·运维·服务器·网络·网络安全·docker·容器
小屁不止是运维1 小时前
麒麟操作系统服务架构保姆级教程(五)NGINX中间件详解
linux·运维·服务器·nginx·中间件·架构