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

GitLab

GitLab

  • GitLab简介
  • Gitlab安装
  • 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环境

若出现如下报错

在这里插入图片描述

使用旧版本Linux系统中管理SELinux的必备工具包,yum install -y policycoreutils-python
直到出现 Complete! 就说明安装成功了

然后需要执行 yum install -y curl policycoreutils openssh-server openssh-clients postfix 安装五个Linux系统常用基础工具软件包

在这里插入图片描述

此时再执行 rpm -ivh gitlab-ce-10.8.4-ce.0.el7.x86_64.rpm 进行安装应该就没问题了

安装成功后我们需要修改配置文件 vim /etc/gitlab/gitlab.rb
将 external_url 后面的内容改成服务器ip地址

需改完成后重新加载配置 gitlab-ctl reconfigure

查看服务状态 gitlab-ctl status

输入 http://服务器ip地址 即可通过浏览器访问GitLab网页界面,首次访问是重置密码,使用用户名 root 登录

在这里插入图片描述

创建仓库

在这里插入图片描述
使用方式和 gitee、github 相同,这里略

如果默认的Web访问端口80和8080端口被占用的话,可以通过如下方式修改

  • 首先需要修改应用服务器(Unicorn)的内部监听端口,Unicorn 是处理 GitLab 核心业务逻辑的服务,它默认监听本地回环地址的 8080 端口,仅接受内部请求
    vim /var/opt/gitlab/gitlab-rails/etc/unicorn.rb
    listen “127.0.0.1:8080”, :tcp_nopush => true
  • 其次需要调整 Nginx 的外部访问端口,Nginx 在这里的作用是反向代理,对外接收用户的 Web 请求,然后将请求转发给内部的 Unicorn 服务处理
    vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
    server {
    listen *:80;

修改时需要保证两者的端口对应

GitLab终端常用命令

  • gitlab-ctl start 启动所有 gitlab 组件
  • gitlab-ctl stop 停止所有 gitlab 组件
  • gitlab-ctl restart 重启所有 gitlab 组件
  • gitlab-ctl status 查看服务状态
  • gitlab-ctl reconfigure 启动服务;
  • vim /etc/gitlab/gitlab.rb 修改默认的配置文件
  • gitlab-rake gitlab:check SANITIZE=true --trace 检查gitlab;
  • gitlab-ctl tail 查看日志
http://www.dtcms.com/a/531994.html

相关文章:

  • GitHub等平台形成的开源文化正在重塑继任者
  • 【区块链学习笔记】17:以太坊中的GHOST协议
  • 【SpringAI】10.结构化输出
  • 递归经典例题
  • SpringMVC入门:配置、映射与参数处理​
  • 前端笔试复盘 | 知识点总结
  • 春招准备之Java基础篇
  • 有哪几个网站可以做贸易网站备案要多少天
  • 【编程语言】Java基础语法回顾,大学期末考试速通版(选择填空、程序、实践)
  • Redis(85)Redis缓存与Memcached缓存有何区别?
  • 【iOS】自动引用计数(一)
  • 有什么免费的网站wordpress 采集器
  • 网站建设创新成果网站营销如何做
  • 设计模式-享元模式(Flyweight)
  • TMS320C6000 VLIW架构并行编程实战:加速AI边缘计算推理性能
  • 算法学习记录08——并归的应用(LeetCode[315])
  • 【机器人学中的状态估计】3.6.6 习题证明
  • Kafka生产者详解(下):数据去重(幂等性)与数据有序
  • Data Ingestion: Architectural Patterns
  • 网站建设心得体会范文郑州男科医院排行哪家最好
  • 【datawhale秋训营】动手开发RAG系统(应急安全方向) TASK02
  • 怎么搜索整个网站内容网站怎么做成app
  • Python3 集合
  • 九冶建设有限公司官方网站sem优化怎么做
  • MATLAB基于灰靶决策模型的高校信息化设备供应商选择研究
  • java类与对象
  • AI 应用层革命(一)——软件的终结与智能体的崛起
  • Linux Crontab命令详解:轻松设置周期性定时任务
  • beef-xss网页无法访问
  • JavaEE初阶——多线程(3)线程安全