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

CentOS 搭建 GitLab Git

本文目录

  • 1. CentOS7 搭建 Gitlab
    • 1. 安装 sshd
      • 1. 安装 sshd 依赖
      • 2. 启动并设置开机自启
      • 3. 安装防火墙
      • 4. 开启防火墙
      • 5. 开放 ssh 以及 http 服务
    • 2. 安装 postfix
      • 1. 安装 postfix
      • 2. 启动并设置开机自启
      • 3. 几个补充知识
    • 3. 下载并安装 gitlab
      • 1. 在线下载安装包
      • 2. 安装
    • 4. 修改 gitlab 配置
    • 5. 重载配置及启动 gitlab
    • 6. 把端口添加到防火墙
    • 7. 登录 GitLab 页面
  • 2. CentOS7 安装 Git
    • 1. 安装 Git
    • 2. 验证是否安装成功
    • 3. 配置基本信息
    • 4. 验证配置是否成功

1. CentOS7 搭建 Gitlab

1. 安装 sshd

1. 安装 sshd 依赖

  • 输入以下命令:
yum install -y curl policycoreutils-python openssh-server

在这里插入图片描述

注:因为我之前已经装过了 sshd 依赖,所以就如上图所示。没装过的耐心等待就好。

2. 启动并设置开机自启

  • 依次输入以下命令:
systemctl enable sshd
systemctl start sshd

3. 安装防火墙

  • 如果已经安装了防火墙并且已经在运行状态,则可直接进行第 5 步。

那如何判断 CentOS7 是否安装了防火墙呢?这里提供两种方法:

方法 1:执行以下命令来查看防火墙服务的运行状态:

systemctl status firewalld

如果返回结果显示防火墙服务正在运行,则表示已安装了防火墙。如果显示防火墙服务处于停止状态或未安装,则表示未安装防火墙。

方法 2:运行以下命令来查看是否安装了防火墙软件包:

rpm -qa | grep firewalld

如果返回结果中包含 “firewalld” 字段,则表示已安装防火墙。

在这里插入图片描述

  • 如果虚拟机中没有安装防火墙,可以输入以下命令进行安装:
yum install firewalld systemd -y

4. 开启防火墙

  • 输入以下命令:
service firewalld  start

5. 开放 ssh 以及 http 服务

  • 依次输入以下命令:
# pemmanent 表示永久生效,若不加 --permanent,系统下次启动后就会失效。
firewall-cmd --add-service=ssh --permanent
firewall-cmd --add-service=http --permanent# 重新加载防火墙列表
firewall-cmd --reload

注:如果关闭防火墙就不需要做以上配置。

在这里插入图片描述

2. 安装 postfix

GitLab 需要使用 postfix 来发送邮件。当然,也可以使用 SMTP 服务器。

1. 安装 postfix

  • 输入以下命令:
yum install -y postfix

2. 启动并设置开机自启

  • 依次输入以下命令:
systemctl enable postfix 
systemctl start postfix

3. 几个补充知识

检查系统中是否已经安装 wget,可以输入以下命令查看:

wget -V

注:若报系统找不到命令,说明 wget 未安装。可以输入以下命令进行安装:

yum -y install wget

在这里插入图片描述

要判断在 CentOS 上是否安装了 Vim 编辑器,可以使用以下方法之一:

方法 1:使用 rpm 命令。输入以下命令:

rpm -qa | grep vim-enhanced

如果返回结果中包含 “vim-enhanced” 字段,则表示 Vim 已安装。如果没有返回任何结果,则表示 Vim 未安装。

方法 2:使用 yum 命令。输入以下命令:

yum list installed | grep vim-enhanced

如果返回结果中包含 “vim-enhanced” 字段,则表示 Vim 已安装。如果没有返回任何结果,则表示 Vim 未安装。

若发现 Vim 未安装,可以输入以下命令进行安装:

yum install vim -y

在这里插入图片描述

3. 下载并安装 gitlab

1. 在线下载安装包

  • 输入以下命令:
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm

在这里插入图片描述

2. 安装

  • 输入以下命令:
rpm -i gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm

注:安装过程需要些时间,如果出现下图,则说明安装成功。

在这里插入图片描述

4. 修改 gitlab 配置

  • 输入以下命令:
vim  /etc/gitlab/gitlab.rb

注:进入编辑器后,按下键键盘的“i”键进入编辑状态,按“Esc”键退出编辑状态。按下“Esc“后输入 :wq 保存并退出。

  • 修改 gitlab 访问地址和端口,默认为 80,我这里改为 82:
external_url 'http://192.168.138.129:82' 
nginx['listen_port'] = 82

在这里插入图片描述

5. 重载配置及启动 gitlab

  • 依次输入以下命令:
 gitlab-ctl reconfiguregitlab-ctl restart

注:输入第一条命令后耐心等待一段时间。

提示 ok: run: 表示启动成功:

在这里插入图片描述

6. 把端口添加到防火墙

  • 依次输入以下命令:
firewall-cmd --zone=public --add-port=82/tcp --permanent
firewall-cmd --reload

在这里插入图片描述

7. 登录 GitLab 页面

  • 登录 GitLab 网页,地址为第 4 步配置的 http://192.168.138.129:82
  • 启动成功后,看到以下修改管理员 root 密码的页面,修改密码后,然后登录即可:

在这里插入图片描述

  • 修改密码后,跳转到下面的登录界面,填入用户名和密码登录即可(用户名为 root,密码为上一步修改的密码):

在这里插入图片描述

  • 登录成功后的界面如下:

在这里插入图片描述

2. CentOS7 安装 Git

git 提供了一个叫做 git config 的工具,专门用来配置或读取相应的工作环境变量。这些环境变量,决定了 git 在各个环节的具体工作方式和行为。这些变量可以存放在以下三个不同的地方:

  • /etc/gitconfig 文件:系统中对所有用户都普遍适用的配置。若使用 git config 时用 --system 选项,读写的就是这个文件。
  • ~/.gitconfig 文件:用户目录下的配置文件只适用于该用户。若使用 git config 时用 --global 选项,读写的就是这个文件。
  • 当前项目的 git 目录中的配置文件(也就是工作目录中的 .git/config 文件):这里的配置仅仅针对当前项目有效。每一个级别的配置都会覆盖上层的相同配置,所以 .git/config 里的配置会覆盖 /etc/gitconfig 中的同名变量。

初次使用 git 需要设置用户名以及邮箱,这将作为当前机器 git 的标识,如果用它来下载远程仓库一些需要登录权限的仓库会要求登录,git 默认使用配置邮箱以及用户名登入,但会要求手动输入密码。

1. 安装 Git

  • 输入以下命令:
yum install -y git

在这里插入图片描述

注:因为我的虚拟机已经安装了 Git,所以就有上图所示的情况。

2. 验证是否安装成功

  • 输入以下命令:
git --version

注:这将显示已安装的 Git 版本信息。

在这里插入图片描述

3. 配置基本信息

  • 配置 Git 的用户名和邮箱,输入以下命令:
# 将 “Your Name” 替换为你自己的名字
git config --global user.name "Your Name"# 将 “youremail@example.com” 替换为你的邮箱地址
git config --global user.email "youremail@example.com"

4. 验证配置是否成功

  • 输入以下命令:
git config --list

注:这将显示设置的用户名和邮箱。

  • 配置文件被存储在 ~/.gitconfig 文件,可以输入以下命令进行查看:
ls -a | grep gitconfig
vim .gitconfig

相关文章:

CentOS 搭建 GitLab Git

本文目录 1. CentOS7 搭建 Gitlab1. 安装 sshd1. 安装 sshd 依赖2. 启动并设置开机自启3. 安装防火墙4. 开启防火墙5. 开放 ssh 以及 http 服务 2. 安装 postfix1. 安装 postfix2. 启动并设置开机自启3. 几个补充知识 3. 下载并安装 gitlab1. 在线下载安装包2. 安装 4. 修改 gi…...

【MTK平台】【wpa_supplicant】关于wpa_supplicant_8/src/p2p/p2p_go_neg.c文件的介绍

本文主要介绍external/wpa_supplicant_8/src/p2p/p2p_go_neg.c文件 这里主要介绍2个方法 1. p2p_connect_send接受来自 p2p.c 文件中调用p2p_connect方法发送的GON Request帧 2. p2p_process_go_neg_resp处理来自GON Response帧的处理流程 先看下p2p_connect_send方法 int p…...

win11安装appium

node安装 node下载网址: Download | Node.js 安装后对node安装包路径进行配置 npm config set prefix “E:\nodejs\node_global” //设置全局包目录 npm config set cache “E:\nodejs\node_cache” //设置缓存目录npm config list //查看npm配置npm install -g appium //安…...

数据科学、统计学、商业分析

数据科学、统计学、商业分析是在各方面有着不同的侧重和方向的领域。 1.专业技能 数据科学(Data Science):数据科学涉及从大量数据中提取有价值的信息、模式和洞察力的领域。它使用多种技术和领域知识,如统计学、机器学习、数据库…...

【多模态】18、ViLD | 通过对视觉和语言知识蒸馏来实现开集目标检测(ICLR2022)

文章目录 一、背景二、方法2.1 对新类别的定位 Localization2.2 使用 cropped regions 进行开放词汇检测2.3 ViLD 三、效果 论文:Open-vocabulary Object Detection via Vision and Language Knowledge Distillation 代码:https://github.com/tensorflo…...

【AGI】Copilot AI编程辅助工具安装教程

1. 基础激活教程 GitHub和OpenAI联合为程序员们送上了编程神器——GitHub Copilot。 但是,Copilot目前不提供公开使用,需要注册账号通过审核,我也提交了申请:这里第一期记录下,开启教程,欢迎大佬们来讨论…...

Mac配置android studio的终端terminal

一共6步 首先打开terminal 1.echo $HOME 2.touch .bash_profile 3.open -e .bash_profile 4.在弹出框中输入 export PATH${PATH}:你电脑sdk的路径/tools:你电脑sdk的路径/platform-tools 5.source .bash_profile 6.adb version 出现类似上图即为成功...

第八次CCF计算机软件能力认证

第一题:最大波动 小明正在利用股票的波动程度来研究股票。 小明拿到了一只股票每天收盘时的价格,他想知道,这只股票连续几天的最大波动值是多少,即在这几天中某天收盘价格与前一天收盘价格之差的绝对值最大是多少。 输入格式 输入…...

MATLAB RANSAC平面拟合 (29)

MATLAB RANSAC平面拟合 (29) 一、算法简介二、函数介绍三、算法实现四、效果展示一、算法简介 将一个平面与一个从内点到平面的最大允许距离的点云相匹配。该函数返回描述平面的几何模型。该函数采用 M- 估计量样本一致性(MSAC)算法求解平面。MSAC 算法是随机样本一致性(RAN…...

铁路关基保护新规:优先采购安全可信的网络产品和服务!

《征求意见稿》第十四条提到:运营者应当加强供应链安全保护,优先采购安全可信的网络产品和服务;采购网络产品和服务影响或者可能影响国家安全的,运营者应当预判网络产品和服务投入使用后可能带来的国家安全风险,按照国…...

Kafka在大数据处理中的应用

Kafka在大数据处理中的应用 一、Kafka简介1. 基础概念2. Kafka的主要功能3. Kafka的特点 二、应用场景1. 数据采集和消费2. 数据存储和持久化3. 实时数据处理和流计算4. 数据通信和协同 三、技术融合1. Kafka与Hadoop生态技术的融合1) 使用Kafka作为Hadoop的数据源2) 使用Hadoo…...

Linux Day03

一、基础命令(在Linux Day02基础上补充) 1.10 find find 搜索路径 -name 文件名 按文件名字搜索 find 搜索路径 -cmin -n 搜索过去n分钟内修改的文件 find 搜索路径 -ctime -n搜索过去n分钟内修改的文件 1)按文件名字 2)按时间 1.11 grep 在文件中过…...

OpenCV 对轮廓进行多边形逼近(Polygon Approximation)

在 OpenCV 中,cv::approxPolyDP 是一个函数,用于对轮廓进行多边形逼近(Polygon Approximation)。它可以将复杂的轮廓逼近为简化的多边形,从而减少轮廓的数据点,使轮廓更加紧凑。 函数原型如下:…...

Docker的数据管理和Dockerfile的指令

Docker的数据管理 一、Docker数据的概念1、数据卷2、数据卷容器 二、端口映射三、容器互联(使用centos镜像)四、Docker 镜像的创建1、基于现有镜像创建(1)首先启动一个镜像,在容器里做修改(2)然…...

[SQL挖掘机] - 交叉连接: cross join

介绍: 交叉连接是一种多表连接方式,它返回两个表的笛卡尔积,即将一个表的每一行与另一个表的每一行进行组合。换句话说,交叉连接会生成一个包含所有可能组合的结果集。 交叉连接的工作原理如下:它会将左表的每一行与右表的每一行…...

Python web实战 | 使用 Django 搭建 Web 应用程序 【干货】

概要 从社交媒体到在线购物,从在线银行到在线医疗,Web 应用程序为人们提供了方便快捷的服务。Web 应用程序已经成为了人们日常生活中不可或缺的一部分。搭建一个高效、稳定、易用的 Web 应用程序并不是一件容易的事情。本文将介绍如何使用 Django 快速搭…...

UE5自定义蓝图节点(二)

继承于UBlueprintAsyncActionBase的类,异步输出节点的实现方法,代码测试正常 .h // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h" #include "Kismet/BlueprintA…...

Bean容器中的ThreadPoolTaskExecutor需要手动关闭吗

ThreadPoolTaskExecutor 是 Spring 提供的一个方便的线程池实现,用于异步执行任务或处理并发请求。 在使用 ThreadPoolTaskExecutor 作为 Spring Bean 注册到容器中后,Spring 会负责在应用程序关闭时自动关闭所有注册的线程池,所以不需要手动…...

Redis学习路线(3)——Redis的Java客户端

一、如何使用Redis的Java客户端 官方文档: https://redis.io/docs/clients/java/ Java-Redis客户端使用场景Jeids 以Redis命令作为方法名称,学习成本低,简单实现,但是Jedis实例是线程不安全的,多线程环境下需要基于连…...

行车遥控接线图

这个一般只有电工才会用。 主要是 【共线和总电】让人疑惑。 这图实际就是PLC的梯形图。 共电:接主电源。【它串联10A保险丝,再到继电器】 总电:它是所有继电器的公共端。【共电的继电器吸合,共电和总电就直通了。】共电的继电器…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

python/java环境配置

环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...

GitHub 趋势日报 (2025年06月08日)

📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...