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保险丝,再到继电器】 总电:它是所有继电器的公共端。【共电的继电器吸合,共电和总电就直通了。】共电的继电器…...

区块链实验室(11) - PBFT耗时与流量特征
以前面仿真程序为例,分析PBFT的耗时与流量特征。实验如下,100个节点构成1个无标度网络,节点最小度为5,最大度为38. 从每个节点发起1次交易共识。统计每次交易的耗时以及流量。本文所述的流量见前述仿真程序的说明:区块链实验室(3)…...

Shell编程基础(三)环境变量 位置变量 系统内置变量
环境变量 & 环境变量环境变量范围父子进程之间有效指定用户有效所有用户有效 位置变量系统内置变量 环境变量 在脚本种直接定义的变量,只能在当前shell进程中使用 若想要在其他shell进程中使用,可以将变量声明为 环境变量 export 变量名 ÿ…...

P5718 【深基4.例2】找最小值
题目描述 给出 n n n 和 n n n 个整数 a i a_i ai,求这 n n n 个整数中最小值是什么。 输入格式 第一行输入一个正整数 n n n,表示数字个数。 第二行输入 n n n 个非负整数,表示 a 1 , a 2 … a n a_1,a_2 \dots a_n a1,a2……...

C++——STL容器之list链表的讲解
目录 一.list的介绍 二.list类成员函数的讲解 2.2迭代器 三.添加删除数据: 3.1添加: 3.2删除数据 四.排序及去重函数: 错误案例如下: 方法如下: 一.list的介绍 list列表是序列容器,允许在序列内的任何…...

使用for循环输出左上三角、右上三角、左下三角、右下三角、上下三角
1、输出如下图形: #include<stdio.h> int main() {/*输出图形 666666666666666*/for(int i1;i<5;i){for(int j1;j<i;j){putchar(6);}printf("\n"); } return 0; } 2、输出如下图形: #include<stdio.h> int main() {/*输出图…...

CAXA中.exb或者.dwg文件保存为PDF
通常CAXAZ中的文件为.exb或者.dwg格式,我们想打印或者保存为PDF文件格式,那么就用一下的方法: CAXA文件如图所示: 框选出你要打印的图纸!!!! 我们选择"菜单"->"…...

华为刷题:HJ3明明随机数
import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main {public static void main(String[] args) {Scanner scan new Scanner(System.in);int N scan.nextInt();int[] arr new int[N];for (int i 0; i < N; i) {int n sca…...

ENVI提取NDVI与植被覆盖度估算
目标是通过ENVI计算植被覆盖度结合ArcGIS出图得到植被覆盖图。 一、植被覆盖度的定义: 植被覆盖度( FractionalVegetation Cover,FVC) 通常定义为植被( 包括叶、茎、枝) 在地面的垂直投影面积占统计区总面积的百分比,它量化了植被的茂密程度,反应了植被的生长态势,是刻画…...

Arm 扩大开源合作伙伴关系,加强投入开放协作
作者:Arm 开源软件副总裁 Mark Hambleton Arm 和我们的生态系统的关键信念之一是与开源社区合作,共创一个高度发达的 Arm 架构,使软件的落地更加稳定,从而让全球数百万开发者能够测试并创建自己的应用。 为此,Arm 支…...

Kubernetes 的核心概念:Pod、Service 和 Namespace 解析
🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~ἳ…...