如何搭建自己的gitlab服务器

这里使用Termus工具连接服务器,然后根据步骤走即可!

安装

1.配置yum源安装gitlab

vim /etc/yum.repos.d/gitlab-ce.repo

修改或新增下面配置并保存

[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1

2.更新本地缓存

sudo yum makecache

然后执行安装命令

sudo yum install -y gitlab-ce  #自动安装最新版本
# 若需安装指定版本,则添加版本号即可,即yum install gitlab-ce-x.x.x

3.修改配置

vim /etc/gitlab/gitlab.rb
# 修改IP和端口,将external_url的值修改即可
# 格式:external_url 'http://ip:端口'
external_url 'https://10.0.21.125:443' # 这里使用https需要配置ssl证书

4.启动gitlab服务

sudo gitlab-ctl start

5.防火墙开启端口

# 开放上面配置的external_url中的 443端口 
firewall-cmd --zone=public --add-port=443/tcp --permanent
# 重启防火墙
firewall-cmd --reload

gitlab常用的一些命令

gitlab-ctl help  # 命令帮助
gitlab-ctl reconfigure # 重新配置
gitlab-ctl show-config # 显示配置
gitlab-ctl uninstall # 卸载
gitlab-ctl kill # 杀服务
gitlab-ctl restart # 重启服务
gitlab-ctl service-list # 服务清单
gitlab-ctl start # 启动服务
gitlab-ctl status # 查看状态
gitlab-ctl stop # 停止服务
gitlab-ctl tail # 查看所有启动服务的服务日志

如何修改默认储存目录

1.停止gitlab服务

gitlab-ctl stop 

2.新建新的储存目录

# gitlab默认的存储目录是 /var/opt/gitlab/git-data/
mkdir -p /home/data/gitlab-data

3.修改配置文件(找到 git_data_dirs 参数对应的配置)

vim /etc/gitlab/gitlab.rb
# 修改git_data_dirs的path值
git_data_dirs({
“default” => {
“path” => “/home/data/git-data”
}
})

4.迁移代码库

 rsync -av /var/opt/gitlab/git-data/repositories /home/data/gitlab-data/

5.重启配置

sudo gitlab-ctl reconfigure

6.启动gitlab

sudo gitlab-ctl start

管理员登录

在初始化配置时,已经有提示给我们密码,如果没有记住的话可以执行下面命令查看初始密码

vi /etc/gitlab/initial_root_password

首次登录通过“Edit Profile>Password”修改密码

公网IP启用https

1.生成ssl证书和私钥

mkdir /etc/gitlab/sslchmod 700 /etc/gitlab/ssl/ -Ropenssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/gitlab/ssl/server.key -out /etc/gitlab/ssl/server.crt

参数说明:

  • openssl:这是用于创建和管理OpenSSL证书,密钥和其他文件的基本命令行工具。
  • req -x509:这指定我们要使用X.509证书签名请求(CSR)管理。“X.509”是SSL和TLS坚持用于密钥和证书管理的公钥基础结构标准。
  • -nodes:这告诉OpenSSL跳过用密码保护我们的证书的选项。当服务器启动时,我们需要Apache能够读取文件,而无需用户干预。密码可以防止这种情况发生,因为每次重新启动后我们都必须输入密码。
  • 第365天:此选项设置证书被视为有效的时间长度。我们在这里定了一年。
  • -newkey rsa:2048:这指定我们要同时生成一个新的证书和一个新的密钥。我们没有在上一步创建签名证书所需的密钥,所以我们需要与证书一起创建证书。该rsa:2048部分告诉它做一个2048位长的RSA密钥。
  • -keyout:这一行告诉OpenSSL在哪里放置我们正在创建的私有密钥文件。
  • -out:这告诉OpenSSL在哪里放置我们正在创建的证书。

2.修改配置文件:vim /etc/gitlab/gitlab.rb

external_url 'https://10.0.21.125:443'    #启用https,默认是httpnginx['enable'] = true
nginx['redirect_http_to_https'] = true    #http重定向到httpsnginx['ssl_certificate'] = "/etc/gitlab/ssl/server.crt"   #ssl证书路径
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/server.key"  #ssl秘钥路径

修改完配置文件需要重启配置

gitlab-ctl reconfigure
gitlab-crl restart

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/87908.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pycharm中配置torch

在控制台cmd中安装好torch后,在pycharm中使用torch,需要进行简单设置即可。 在pycharm中新建一个工程,在file文件中打开setting 在setting中找到project interpreter编译器 找到conda environment的环境配置,设置好相应的目录 新…

2023年蓝帽杯取证复现

案件介绍 2021 年 5 月,公安机关侦破了一起投资理财诈骗类案件,受害人陈昊民向公安机关报案称其在微信上认识一名昵称 为 yang88 的网友,在其诱导下通过一款名为维斯塔斯的 APP ,进行投资理财,被诈骗 6 万余万元。接警…

华为OD机考算法题:篮球比赛

目录 题目部分 解读与分析 代码实现 题目部分 题目篮球比赛难度难题目说明篮球(5V5)比赛中,每个球员拥有一个战斗力,每个队伍的所有球员战斗力之和为该队伍的总体战斗力。现有 10 个球员准备分为两队进行训练赛,教练希望 2 个队伍的战斗力…

如何搭建VUE项目开发环境?

搭建Vue.js项目的开发环境通常包括以下主要步骤: 1、安装Node.js和npm: Vue.js项目需要Node.js和npm(Node Package Manager)作为基础环境。你可以从Node.js官网下载并安装它们:Node.js官网 安装完成后,你…

Java深入理解线程的三大特性

目录 1 CPU缓存导致可见性问题2 线程切换导致原子性问题3 性能优化导致有序性问题4 JMM(Java Memory Model)5 volatile6 synchronized 1 CPU缓存导致可见性问题 线程的三大特性: 可见性:Visibility有序性:Ordering原子性:Atomic…

谈谈最近招人的感受!

最近折腾新的项目,面试了很多实习生小伙伴,我说说我的一些「面试」感受, 虽然是一个老生常谈的话题,但是依然提一下。 准时很重要:提前一点时间,踩个点,别迟到,面试的过程中由于每个…

2023年前端流行什么技术和框架了?

Web前端三大主流框架有React、Vue.js和Angular,由于接触过Vue.js,接下来主讲最新的Vue3.0! Vue3.0作为最新版本的Vue.js框架,拥有更强大的性能和更丰富的功能,为低代码开发平台注入了全新的活力。而JNPF快速开发平台作…

Go业务开发常用关注点

本文对实际开发场景中面对高频的场景,总结出来的一些处理方案,希望能对业务开发的同学提供帮助! 1. 结构体转换 实际开发中会面对一个相似的数据结构,由于引用不同的包,需要开发转换到对应的结构上,本质上…

浅谈xss

XSS 简介 XSS,全称Cross Site Scripting,即跨站脚本攻击,是最普遍的Web应用安全漏洞。这类漏洞能够使得攻击者嵌入恶意脚本代码到正常用户会访问到的页面中,当正常用户访问该页面时,则可导致嵌入的恶意脚本代码的执行,从而达到恶意攻击用户的目的。需要强调的是,XSS不仅…

setTimeout,setInterval,setImmdeiate的区别

setTimeout, setInterval, 和 setImmediate 是 JavaScript 中用于执行异步操作的定时器函数,它们之间有一些重要的区别: 1. setTimeout: - setTimeout 用于在一定的延迟时间后执行一个函数。 - 它接受两个参数:要执行的函数和延迟的毫…

webpack、vue.config.js

一、webpack学习 简述 webpack是一个静态资源打包工具,它会以一个或多个文件作为打包的入口,将我们整个项目的文件编译组合成一个或多个文件输出出去。输出的文件就是编译好的文件,可以运行在浏览器中。一般的我们将webpack输出的文件叫做b…

使用ElementUI结合Mock完成主页的搭建

目录 一、Mock ( 1 ) 讲述 ( 2 ) 作用 二、引用 三、主页搭建 学习后带来的收获 一、Mock ( 1 ) 讲述 Mock.js是一个用于前端开发中模拟数据的库。它可以帮助开发人员在前端开发过程中模拟接口返回的数据,从而实现前后端分离开发。Mock.js提供了一套简单易…

Python和Scrapy构建可扩展的框架

构建一个可扩展的网络爬虫框架是利用Python和Scrapy实现高效数据采集的重要技能。在本文中,我将为您介绍如何使用Python和Scrapy搭建一个强大灵活的网络爬虫框架。我们将按照以下步骤展开: 1. 安装Scrapy: 首先,确保您已经安装了…

如何计算3种卷积之后的尺寸(普通卷积,转置卷积,空洞卷积)

文章目录 前言一、普通卷积二、转置卷积三、空洞卷积 前言 三种卷积之后的feature map的尺寸如何计算。包括普通卷积,转置卷积,空洞卷积。可以在下面这个链接看到三种卷积的动态图。 卷积动态图 一、普通卷积 普通卷积比较简单了,其计算方式…

《动手学深度学习 Pytorch版》 6.4 多输入多输出通道

import torch from d2l import torch as d2l6.4.1 多输入通道 简言之,多通道即为单通道之推广,各参数对上即可。 def corr2d_multi_in(X, K):# 先遍历“X”和“K”的第0个维度(通道维度),再把它们加在一起return sum…

【python爬虫】爬虫所需要的爬虫代理ip是什么?

目录 前言 一、什么是爬虫代理 IP 二、代理 IP 的分类 1.透明代理 2.匿名代理 3.高匿代理 三、如何获取代理 IP 1.免费代理网站 2.付费代理服务 四、如何使用代理 IP 1.使用 requests 库 2.使用 scrapy 库 五、代理 IP 的注意事项 1.代理 IP 可能存在不稳定性 2…

企业关键数据采集如何做

数据对于企业的重要性不言而喻,目前又处于大数据时代,企业对于数据的解读将是辅助决策最重要的一环。依据所掌握的数据信息,帮助企业做决策的优化。然而,在企业的关键数据采集并不是一项简单轻松的任务,他需要企业投入…

DC电源模块的过热保护功能

BOSHIDA DC电源模块的过热保护功能 DC电源模块的过热保护功能是为了防止电源模块因长时间工作或外部环境因素导致的过热而损坏。在使用DC电源模块时,电源模块内部的电子元件会产生一定的热量,如果超过了元件所能承受的温度范围,就可能会发生…

【VsCode】vscode创建文件夹有小图标显示和配置

效果 步骤 刚安装软件后, 开始工作目录下是没有小图标显示的。 如下图操作,安装vscode-icons 插件,重新加载即可 创建文件夹,显示图标如下:

Jenkins学习笔记2

Jenkins下载安装: 从清华源开源镜像站上下载jenkins的安装包: 安装的是这个版本。 关于软件的版本,尽量使用LTS,长期支持。 首先是安装openjdk: yum install fontconfig java-11-openjdk[rootlocalhost soft]# java …