news 2026/4/18 14:37:55

【Git学习】GitLab介绍

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Git学习】GitLab介绍

GitLab简介

GitLab 是一个基于 Git 的开源 DevOps 平台,以 Git 作为底层代码管理工具,通过 Web 界面提供一站式服务。它不仅是代码仓库管理系统,支持公开或私有项目的访问与维护,还整合了从开发到部署的全流程工具,功能覆盖代码协作、项目管理、自动化交付等多个环节。
从基础功能来看,GitLab 与 GitHub 类似,支持通过 Web 界面浏览源代码、管理缺陷(Issues)、添加注释,可精细化控制团队对仓库的访问权限(如分支保护、角色分配),并能直观展示提交历史、文件版本轨迹,方便追溯代码变更。此外,它还提供代码片段收集功能,便于团队复用代码。
而其核心价值在于 “一体化 DevOps 能力”:通过内置的持续集成 / 持续部署工具(无需依赖第三方服务),可实现代码提交后自动触发测试、构建、部署流程;同时整合了项目管理、代码审查、安全扫描等功能,让团队无需在 Git 仓库、Jenkins、Jira 等多个工具间切换,就能完成从代码开发、测试验证到最终上线的全流程管理,大幅提升协作效率与开发自动化水平。
社区版(GitLab CE)免费开源,适合中小企业或个人使用;企业版(GitLab EE)则提供更高级的安全与合规功能,满足大型组织需求。同时,它支持自托管部署(数据私有可控)和 SaaS 模式(GitLab.com),灵活适配不同场景。

Gitlab安装

Gitlab 的rpm包集成了它需要的软件,简化了安装步骤,所以直接安装rpm包即可,rpm包的获取从官方网站或者国内镜像源(如:清华 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/)获取
环境说明
系统版本:CentOS Linux release 7.6.1810 (Core)
软件版本 gitlab-ce-10.8.4
首先需要在 /usr/src 下创建 tools 文件夹 mkdir -p /usr/src/tools,再进入tools文件夹 cd /usr/src/tools 上传软件安装包
执行 rpm -ivh gitlab-ce-10.8.4-ce.0.el7.x86_64.rpm 进行安装
若出现如下报错,说明缺少python环境
使用 yum install -y policycoreutils-python-utils 安装python环境
若安装python环境出现如下报错
那么我们使用 yum install -y policycoreutils-python 命令安装旧版本Linux系统中管理SELinux的必备工具包
直到出现 Complete! 就说明安装python环境成功了
安装python环境成功后还需要执行 yum install -y curl policycoreutils openssh-server openssh-clients postfix 安装五个Linux系统常用基础工具软件包
此时再执行 ·rpm -ivh gitlab-ce-10.8.4-ce.0.el7.x86_64.rpm· 安装Gitlab的rpm包应该就没问题了
安装成功后我们需要修改配置文件 vim /etc/gitlab/gitlab.rb,将 external_url 后面的内容改成服务器ip地址
修改完成后需要重新加载配置使用命令 gitlab-ctl reconfigure
查看服务状态 gitlab-ctl status
若输出结果是down,说明GitLab 服务处于停止或部分组件未运行状态
使用 gitlab-ctl start 启动 GitLab 服务组件,通过该命令启动所有组件,使其恢复运行
run 表示运行中
浏览器地址栏输入 http://服务器ip地址 即可访问GitLab网页界面,首次访问是重置密码,使用用户名 root 登录
创建仓库
使用方式和 gitee、github 相同,这里略
如果默认的Web访问端口80和8080端口被占用的话,可以通过如下方式修改
  • 首先需要修改应用服务器(Unicorn)的内部监听端口,Unicorn 是处理 GitLab 核心业务逻辑的服务,它默认监听本地回环地址的 8080 端口,仅接受内部请求vim /var/opt/gitlab/gitlab-rails/etc/unicorn.rblisten "127.0.0.1:8080", :tcp_nopush => true
  • 其次需要调整 Nginx 的外部访问端口,Nginx 在这里的作用是反向代理,对外接收用户的 Web 请求,然后将请求转发给内部的 Unicorn 服务处理vim /var/opt/gitlab/nginx/conf/gitlab-http.confserver {listen *:80;
修改时需要保证两者的端口对应

GitLab终端常用命令

  • gitlab-ctl start:启动 GitLab 所有相关的服务组件
  • gitlab-ctl stop:停止 GitLab 所有相关的服务组件
  • gitlab-ctl restart:重启 GitLab 所有相关的服务组件
  • gitlab-ctl status:查看 GitLab 所有核心服务组件当前运行状态
  • gitlab-ctl reconfigure:应用配置并重建服务
  • vim /etc/gitlab/gitlab.rb:修改 GitLab 的主配置文件
  • gitlab-rake gitlab:check SANITIZE=true --trace:全面检查 GitLab 各项配置、依赖和运行环境是否正常,并输出详细的诊断信息
  • gitlab-ctl tail:实时查看各服务组件日志
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/17 16:25:47

【企业级Agent安全配置】:Docker环境下99%的人都忽略的5大安全隐患

第一章:企业级Agent安全配置的核心挑战在现代分布式系统架构中,Agent作为连接终端节点与中央管理平台的关键组件,承担着数据采集、指令执行和状态上报等核心职责。然而,随着攻击面的不断扩展,企业级Agent的安全配置面临…

作者头像 李华
网站建设 2026/4/18 1:10:19

Comsol 超构表面远场偏振态绘制那些事儿

Comsol绘制超构表面远场偏振态 动量空间远场偏振far field polarization 绘制教程。 C点 V点识别 Comsol 超构表面动量空间参数图绘制在超构表面的研究领域中,利用 Comsol 绘制远场偏振态以及动量空间相关参数图是非常重要的工作。今天就来跟大家唠唠这其中的门道…

作者头像 李华
网站建设 2026/4/17 7:45:53

1.19 UGUI的准备数据流程

1.UGUI准备数据的流程a.PostLateUpdate.PlayerUpdateCanvases- 作用: 这是Unity在每帧的晚期更新(LateUpdate)之后, 专门用于更新所有Canvas(UI画布)的系统函数; 它负责驱动整个UI渲染流程- 详细流程: 它会调用Canvas.SendWillRenderCanvases(), 从而触发一系列UI更新操作, 包括…

作者头像 李华
网站建设 2026/4/17 8:34:12

MCP SC-400量子加密实战指南(从零到企业级安全架构)

第一章:MCP SC-400量子安全配置实务概述在当前量子计算快速发展的背景下,传统加密体系面临前所未有的破解风险。MCP SC-400作为新一代量子安全通信协议标准,旨在提供抗量子攻击的安全配置框架,保障关键基础设施与敏感数据的长期安…

作者头像 李华
网站建设 2026/4/18 3:58:34

JavaEE进阶——MyBatis动态SQL与图书管理系统实战

目录 MyBatis 进阶详解与图书管理系统实战 第一部分:核心知识点深度解析 1. 什么是动态 SQL?为什么需要它? 2. 动态 SQL 标签详解(文档核心点扩展) 2.1 标签:最常用的判断逻辑2.2 标签:万能…

作者头像 李华
网站建设 2026/4/18 3:57:51

初始网络原理

理论知识网络的发展历程单机时代->局域网->广域网->移动互联网时代(国内的网络发展相对较慢,2000年前后,才真正的进入了网络时代)组建网络的核心设备路由器和交换机是组建网络的核心设备(交换机可以认为是对路由器的接口进行拓展)网络通信基础知识网络互联的目的是为了…

作者头像 李华