当前位置: 首页 > news >正文

【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部署,用其他操作系统同样可以

image-xpxd.png

2.2.连接服务器

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

image-zrjm.png

2.3.安装Docker以及Docker Compose

安装Docker,使用国内源

yum update #更新软件源

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

image-2j0w.png

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

image-wyew.png

检查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 #查看版本

image-xjap.png

三、正式部署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

image-e9eg.png

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

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 #容器状态

image-bjyi.png

3.4.配置端口转发

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

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

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

image-wfuc.png

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

image-szue.png

四、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”选项修改为“简体中文”

image-qonm.png

相关文章:

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

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

速盾:什么是cdn架构

CDN(Content Delivery Network)即内容分发网络,是一种分布式的架构,用于提高互联网上的内容传输速度和用户体验。CDN架构通过将内容分发到全球多个节点,使用户能够从最近的节点获取内容,从而减少延迟和网络…...

spring高级篇(十)

1、内嵌tomcat boot框架是默认内嵌tomcat的,不需要手动安装和配置外部的 Servlet 容器。 简单的介绍一下tomcat服务器的构成: Catalina: Catalina 是 Tomcat 的核心组件,负责处理 HTTP 请求、响应以及管理 Servlet 生命周期。它包…...

map、set底层封装模拟实现(红黑树)

文章目录 一、红黑树1.1红黑树的规则:1.2红黑树的插入操作1.2.1不需要旋转(如果叔叔存在且为红,这里的C表示孩子,P表示父亲,U表示叔叔,G表示祖父),包含四种情况,无论孩子在哪里&…...

PHP8.2-xlswriter 扩展

https://pecl.php.net/package/xlswriter ### 进入/root/ cd ~ ### 下载扩展 wget https://pecl.php.net/get/xlswriter-1.5.5.tgz ### 解压扩展 tar -zxvf xlswriter-1.5.5.tgz ### 进入扩展目录 cd xlswriter-1.5.5 ### 查找对应php版本的phpize find / -name phpi…...

imx6ull开发板设置SD卡启动,SD卡中烧写uboot,kernel,设备树,根文件系统fs

IMX6ULL ARM Linux开发板SD卡启动,SD卡的分区与分区格式化创建_sd制作分区-CSDN博客...

2024年第七届可再生能源与环境工程国际会议(REEE 2024)即将召开!

2024年第七届可再生能源与环境工程国际会议(REEE 2024)将于2024 年8月28-30日在法国南特举行。共绘绿色未来,全球同频共振!REEE 2024将汇聚全球可再生能源与环境工程领域的专家学者和业界精英,共同探讨行业发展的前沿技…...

【华为】NAT的分类和实验配置

【华为】NAT的分类和实验配置 NAT产生的技术背景IP地址分类NAT技术原理NAT分类静态NAT动态NATNAPTEasy IP(PAT)NAT Server 配置拓扑静态NAT测试抓包 动态NAT测试抓包 NAPT测试抓包 PAT测试抓包 NAT Server检测抓包 PC1PC2服务器 NAT产生的技术背景 随着…...

拉普拉斯丨独家冠名2024年度ATPV技术分论坛,助力产业科技持续创新

为了进一步促进行业技术交流,推进光伏行业发展及标准建设的进程,针对高效电池,领跑组件,新产品认证及应用等技术专题及国内外光伏标准的最新进程,由中国绿色供应链联盟光伏专委会(ECOPV)指导的2…...

LangChain入门教程 - 使用代理Agent

对于大模型,比如某些场景,需要数学计算,或者需要从某些网站获取参考资料,就必须使用专门的代理来完成任务。这里我们使用langchain提供的数学工具来实现一个最简单的例子,下一篇我们会讲如何自己实现代理。 首先创建一…...

windows驱动开发-内核编程技术汇总(五)

使用安全字符串函数 和应用层不一样的是,windows内核完全使用Unicode字符串,许多支持AsciiC的windowsAPI,是在应用层完成项Unicode的切换的。许多系统安全问题是由缓冲区处理不善和生成的缓冲区溢出引起的。 糟糕的缓冲区处理通常与字符串操…...

Java中的optional类是啥和例子

Optional 是 Java 8 引入的一个容器对象,用于表示值存在或不存在。这是一个可以为 null 的容器对象,但使用 Optional 比直接使用 null 更安全,因为 Optional 类提供了许多有用的方法,以便更优雅地处理可能存在或不存在的值。 使用…...

AI大模型探索之路-训练篇16:大语言模型预训练-微调技术之LoRA

系列篇章💥 AI大模型探索之路-训练篇1:大语言模型微调基础认知 AI大模型探索之路-训练篇2:大语言模型预训练基础认知 AI大模型探索之路-训练篇3:大语言模型全景解读 AI大模型探索之路-训练篇4:大语言模型训练数据集概…...

mysql事务锁排查

-- mysql show full PROCESSLIST; -- 查看哪些表在锁。 show open tables where IN_use>0; -- 正在执行的事务: SELECT * FROM information_schema.INNODB_TRX;-- 8.0之前 查看正在锁的事务 select * from information_schema.innodb_locks;-- 查看等待锁的事务 …...

ChatGPT变懒原因:正在给自己放寒假!已被网友测出

ChatGPT近期偷懒严重,有了一种听起来很离谱的解释: 模仿人类,自己给自己放寒假了~ 有测试为证,网友Rob Lynch用GPT-4 turbo API设置了两个系统提示: 一个告诉它现在是5月,另一个告诉它现在是1…...

C#标签设计打印软件开发

1、新建自定义C#控件项目Custom using System; using System.Collections.Generic; using System.Text;namespace CustomControls {public class CommonSettings{/// <summary>/// 把像素换算成毫米/// </summary>/// <param name="Pixel">多少像素…...

Springboot+vue+小程序+基于微信小程序的在线学习平台

一、项目介绍    基于Spring BootVue小程序的在线学习平台从实际情况出发&#xff0c;结合当前年轻人的学习环境喜好来开发。基于Spring BootVue小程序的在线学习平台在语言上使用Java语言进行开发&#xff0c;在数据库存储方面使用的MySQL数据库&#xff0c;开发工具是IDEA。…...

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-13-按键实验

前言&#xff1a; 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM&#xff08;MX6U&#xff09;裸机篇”视频的学习笔记&#xff0c;在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…...

ubuntu与redhat的不同之处

华子目录 什么是ubuntu概述 ubuntu版本简介桌面版服务器版 安装部署部署后的设置设置root密码关闭防火墙启用允许root进行ssh登录更改apt源安装所需软件 安装nginx安装apache网络配置Netplan概述配置详解配置文件DHCP静态IP设置设置 软件安装方法apt安装软件作用常用命令配置ap…...

三岁孩童被家养大型犬咬伤 额部撕脱伤达10公分

近期&#xff0c;一名被家养大型犬咬伤了面部的3岁小朋友&#xff0c;在被家人紧急送来西安国际医学中心医院&#xff0c;通过24小时急诊门诊简单救治后&#xff0c;转至整形外科&#xff0c;由主治医师李世龙为他实施了清创及缝合手术。 “患者额部撕脱伤面积约为10公分&…...

如何用Spec Kit快速构建高质量软件:终极规范驱动开发指南

如何用Spec Kit快速构建高质量软件&#xff1a;终极规范驱动开发指南 【免费下载链接】spec-kit &#x1f4ab; Toolkit to help you get started with Spec-Driven Development 项目地址: https://gitcode.com/gh_mirrors/sp/spec-kit 你是否曾经在软件开发中感到迷茫&…...

5分钟搞定OpenClaw+百川2-13B:星图平台镜像一键部署指南

5分钟搞定OpenClaw百川2-13B&#xff1a;星图平台镜像一键部署指南 1. 为什么选择云端沙盒体验OpenClaw 上周我在本地尝试部署OpenClaw时&#xff0c;经历了长达3小时的依赖冲突和配置报错。当最终看到"openclaw gateway started"的提示时&#xff0c;我的开发环境…...

ChatTTS 量化模型实战:如何实现高效AI语音合成与部署优化

最近在做一个需要实时语音合成的项目&#xff0c;用上了开源的ChatTTS模型。效果是真不错&#xff0c;但一上生产环境就傻眼了——模型又大又慢&#xff0c;服务器成本蹭蹭往上涨。为了解决这个问题&#xff0c;我花了不少时间研究模型量化&#xff0c;总算把推理速度提上来了&…...

ChatTTS 语音合成中如何高效添加语气词:原理与实战指南

最近在做一个语音播报项目&#xff0c;用到了ChatTTS&#xff0c;发现生成的语音虽然清晰&#xff0c;但总感觉少了点“人味儿”。特别是那些“嗯”、“啊”、“哦”之类的语气词&#xff0c;插进去之后特别生硬&#xff0c;像机器人在念稿&#xff0c;用户体验大打折扣。这让我…...

自定义游戏环境:开源启动器PCL2-CE的多场景解决方案

自定义游戏环境&#xff1a;开源启动器PCL2-CE的多场景解决方案 【免费下载链接】PCL-CE PCL2 社区版&#xff0c;可体验上游暂未合并的功能 项目地址: https://gitcode.com/gh_mirrors/pc/PCL-CE PCL2-CE社区版作为一款开源的Minecraft启动工具&#xff0c;通过模块化设…...

运算放大器与电压比较器原理及应用对比

运算放大器与电压比较器的原理分析与工程应用1. 器件概述与符号对比1.1 基本符号结构运算放大器(Operational Amplifier)和电压比较器(Voltage Comparator)在原理图符号上具有完全相同的表现形式&#xff0c;均包含五个基本引脚&#xff1a;正电源引脚(VCC/V)负电源引脚(GND/-V…...

从物流仓库到游戏背包:三维装箱问题(3D-BPP)如何影响你的日常生活?

从物流仓库到游戏背包&#xff1a;三维装箱问题如何塑造我们的数字生活 清晨打开手机里的策略游戏&#xff0c;你发现背包格子又不够用了——那些珍贵的装备和药水总是无法完美摆放&#xff1b;周末搬家时&#xff0c;面对满屋的家具和纸箱&#xff0c;你突然意识到小货车可能装…...

性能分析与调优详解

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 常看到性能测试书中说&#xff0c;性能测试不单单是性能测试工程师一个人的事儿。需要DBA 、开发人员、运维人员的配合完成。但是在不少情况下性能测试是由性能测…...

新手上路:用Realsense Viewer和Rviz快速验证你的Intel L515相机(从插上USB3.0到看到点云)

新手上路&#xff1a;用Realsense Viewer和Rviz快速验证你的Intel L515相机 刚拿到Intel RealSense L515激光雷达相机时&#xff0c;最迫切的需求往往是快速确认设备能否正常工作。本文将带你跳过复杂的配置流程&#xff0c;直接进入**"插电即用"**的验证阶段。无论你…...

Legado内置Web服务深度剖析:轻量级架构与跨设备阅读体验升级

Legado内置Web服务深度剖析&#xff1a;轻量级架构与跨设备阅读体验升级 【免费下载链接】legado Legado 3.0 Book Reader with powerful controls & full functions❤️阅读3.0, 阅读是一款可以自定义来源阅读网络内容的工具&#xff0c;为广大网络文学爱好者提供一种方便…...