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

gitlab搭建

回到目录 

GitLab 是一个用于仓库管理系统的开源项目,使用 Git 作为代码管理工具,并在此基础上搭建起来的 Web 服务。

Gitlab 是被广泛使用的基于 git 的开源代码管理平台, 基于 Ruby on Rails 构建, 主要针对软件开发过程中产生的代码和文档进行管理, Gitlab 主要针对 group 和 project 两个维度进行代码和文档管理, 其中 group 是群组, project 是工程项目, 一个 group 可以管理多个project , 可以理解为一个群组中有多项软件开发任务, 而一个 project 中可能包含多个 branch, 意为每个项目中有多个分支, 分支间相互独立, 不同分支可以进行归并。

安装包地址:

gitlab/gitlab-ce - Packages · packages.gitlab.com

1 安装

直接安装

# 下载安装包
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-15.9.1-ce.0.el7.x86_64.rpm --no-check-certificate# 安装
rpm -i gitlab-ce-15.9.1-ce.0.el7.x86_64.rpm# 编辑 /etc/gitlab/gitlab.rb 文件
# 修改 external_url 访问路径 http://<ip>:<port>
# 其他配置修改如下
gitlab_rails['time_zone'] = 'Asia/Shanghai'
puma['worker_processes'] = 2
sidekiq['max_concurrency'] = 8
postgresql['shared_buffers'] = "128MB"
postgresql['max_worker_processes'] = 4
prometheus_monitoring['enable'] = false# 更新配置并重启
gitlab-ctl reconfigure
gitlab-ctl restart
# 重启完成后,登陆ip:port
# 用户 root 密码为/etc/gitlab/initial_root_password中密码
# 登陆后修改密码为password

docker安装

#拉去
docker pull gitlab/gitlab-ce#运行
docker run
-d #后台运行,全称:detach
-p 443:443 #将容器内部端口向外映射
-p 29080:80 #将容器内80端口映射至宿主机29080端口,这是访问gitlab的端口
--restart always #容器自启动
--name gitlab #设置容器名称为gitlab
-v c:\gitlab\:/etc/gitlab #将容器/etc/gitlab目录挂载到宿主机/usr/local/gitlab/etc目录下,若宿主机内此目录不存在将会自动创建
-v c:\gitlab\log:/var/log/gitlab #与上面一样
-v c:\gitlab\data:/var/opt/gitlab #与上面一样
--privileged=true #让容器获取宿主机root权限#访问
http://10.199.99.222:29080
#密码
#用户 root 密码为/etc/gitlab/initial_root_password中密码

2 配置修改

登陆后

#关闭外网头像
# Settings > General > Account and limit > 关闭Gravatar enabled# 关闭用户注册功能
# Settings > General > Sign-up restrictions > 取消 Sign-up enabled > Save changes# 开启 webhook 外部访问
# Settings > Network > Outbound requests > Allow requests to the local network from web hooks and services 勾选# 设置语言为中文(全局)
# Settings > Preferences > Localization > Default language > 选择简体中文 > Save changes# 设置当前用户语言为中文
# 右上角用户头像 > Preferences > Localization > Language > 选择简体中文 > Save changes

3 配置公钥

在本地机上操作,用于提交代码

用户名,邮箱可以用root或者重新创建一个

git config --global user.name "account name"  //用户名,建议拼音或英文
git config --global user.email "account email"  //邮箱地址
ssh-keygen -t rsa -C "account email"     //上面的邮箱地址
#将公钥放到gitlab上ssh中
cat id_rsa.pub

 

相关文章:

gitlab搭建

回到目录 GitLab 是一个用于仓库管理系统的开源项目&#xff0c;使用 Git 作为代码管理工具&#xff0c;并在此基础上搭建起来的 Web 服务。 Gitlab 是被广泛使用的基于 git 的开源代码管理平台, 基于 Ruby on Rails 构建, 主要针对软件开发过程中产生的代码和文档进行管理,…...

JMeter 的使用

文章目录 1. JMeter下载2. JMeter的使用2.1 JMeter中文设置2.2 JMeter的使用2.2.1 创建线程组2.2.2 HTTP请求2.2.3 监听器 1. JMeter下载 官网地址 https://jmeter.apache.org/download_jmeter.cgi https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.6.2.zip 下载解…...

Java语言 Iterator 如何装换成 List

迭代器如何逆向转换成List集合 在 Java 中&#xff0c;迭代器&#xff08;Iterator&#xff09;是一种用于遍历集合中元素的对象&#xff0c;它提供了一种简单而一致的方式来访问集合中的元素&#xff0c;而不需要暴露集合内部的结构。如果我们需要将一个迭代器逆向转换成 Lis…...

国产GOWIN实现低成本实现CSI MIPI转换DVP

CSI MIPI转换DVP&#xff0c;要么就是通用IC操作&#xff0c;如龙讯芯片和索尼芯片&#xff0c;但是复杂的寄存器控制器实在开发太累。对于FPGA操作&#xff0c;大部分都是用xilinx的方案&#xff0c;xilinx方案成本太高&#xff0c;IP复杂。 而用国产GOWIN已经实现了直接mipi …...

Typescript第六章 类型进阶(类型之间的关系,全面性检查,对象类型进阶,函数类型进阶,条件类型等)

文章目录 第六章 类型进阶6.1 类型之间的关系6.1.1 子类型和超类型6.1.2 型变结构和数组型变函数型变 6.1.3 可赋值性6.1.4 类型拓宽const类型多余属性检查 6.1.5 细化辨别并集类型 6.2 全面性检查6.3对象类型进阶6.3.1 对象类型的类型运算符“键入”运算符keyof运算符 6.3.2 R…...

kernel32.dll如何修复,快速解决kernel32.dll缺失的方法

Kernel32.dll是Windows操作系统中一个重要的系统文件&#xff0c;对于系统的正常运行至关重要。然而&#xff0c;由于各种原因&#xff0c;用户可能会遇到kernel32.dll文件的缺失问题。今天小编就来给大家详细的介绍一下kernel32.dll这个文件&#xff0c;并且详细的介绍一下ker…...

初始化前端项目配置 eslint、prettier、husky 等等

每次新项目都要重新配置一遍&#xff0c;有点麻烦&#xff0c;记录一下。 一、配置 ESLint 1.1 核心配置 执行 npm init eslint/config 命令进行初始化&#xff0c;根据提示一路下一步即可&#xff0c;完成后会自动生成 eslintrc 文件并安装相关依赖。 1.2 React 编译模式配…...

嵌入式存储器为AI的实现提供了实现架构

近年来&#xff0c;大脑启发式计算机领域的研究活动获得了巨大的发展。主要原因是试图超越传统的冯诺依曼架构的局限性&#xff0c;后者越来越受存储器-逻辑通信的带宽和等待时间的局限性的影响。在神经形态架构中&#xff0c;内存是分布式的&#xff0c;可以与逻辑共定位。鉴于…...

iOS开发-格式化时间显示刚刚几分钟前几小时前等

iOS开发-格式化时间显示刚刚几分钟前几小时前等 在开发中经常遇到从服务端获取的时间戳&#xff0c;需要转换显示刚刚、几分钟前、几小时前、几天前、年月日等格式。 主要用到了NSCalendar、NSDateComponents这两个类 NSString *result nil;NSCalendarUnit components (NSC…...

ffmpeg视频音频命令

视频音频合并 视频音频合并&#xff0c;以视频时间为主&#xff0c;音频短了循环 方法1&#xff1a;混音&#xff0c;视频权重0&#xff0c;volume调节音量&#xff0c;aloop无限循环&#xff0c;duration:first为第一个素材的长度 ffmpeg -i video.mp4 -i audio.mp3 -filter_…...

Jenkins工具系列 —— Jenkins 安装并启动

文章目录 安装涉及相关链接选择安装Jenkins版本安装JenkinsJenkins web页面启动卸载Jenkins 安装涉及相关链接 Jenkins官网&#xff1a; https://www.jenkins.io/zh/ Jenkins下载安装步骤&#xff1a; https://www.jenkins.io/zh/download/ 安装各种版本OpenJDK&#xff1a; h…...

使用中间人攻击的arp欺骗教程

文章目录 前言一、查看网络接口配置第 1 步&#xff1a;从受害者处获取 IP 配置第 2 步&#xff1a;在 Linux 中打开数据包转发第 3 步&#xff1a;使用 arpspoof 将包重定向到您的计算机步骤4&#xff1a;拦截来自路由器的包裹步骤5&#xff1a;从目标的浏览器历史记录中嗅探图…...

设计模式、Java8新特性实战 - List<T> 抽象统计组件

一、背景 在日常写代码的过程中&#xff0c;针对List集和&#xff0c;统计里面的某个属性&#xff0c;是经常的事情&#xff0c;针对List的某个属性的统计&#xff0c;我们目前大部分时候的代码都是这样写&#xff0c;每统计一个变量&#xff0c;就要定义一个值&#xff0c;且…...

【JavaEE初阶】博客系统后端

文章目录 一. 创建项目 引入依赖二. 设计数据库三. 编写数据库代码四. 创建实体类五. 封装数据库的增删查改六. 具体功能书写1. 博客列表页2. 博客详情页3. 博客登录页4. 检测登录状态5. 实现显示用户信息的功能6. 退出登录状态7. 发布博客 一. 创建项目 引入依赖 创建blog_sy…...

day51-Mybatis-Plus/代码生成器

1.Mybatis-Plus 定义&#xff1a;是一个Mybatis的增强工具&#xff0c;只在Mybatis基础上增强不做改变&#xff0c;简化开发&#xff0c;提升效率 2.MP实战 2.1 创建springboot工程&#xff0c;勾选web&#xff0c;引入依赖 <dependency> <groupId>mysql<…...

22.Netty源码之解码器

highlight: arduino-light 抽象解码类 https://mp.weixin.qq.com/s/526p5f9fgtZu7yYq5j7LiQ 解码器 Netty 常用解码器类型&#xff1a; ByteToMessageDecoder/ReplayingDecoder 将字节流解码为消息对象&#xff1b;MessageToMessageDecoder 将一种消息类型解码为另外一种消息类…...

R语言【Tidyverse、Tidymodel】的机器学习方法

机器学习已经成为继理论、实验和数值计算之后的科研“第四范式”&#xff0c;是发现新规律&#xff0c;总结和分析实验结果的利器。机器学习涉及的理论和方法繁多&#xff0c;编程相当复杂&#xff0c;一直是阻碍机器学习大范围应用的主要困难之一&#xff0c;由此诞生了Python…...

vscode 第一个文件夹在上一层文件夹同行,怎么处理

我的是这样的 打开终端特别麻烦 解决方法就是 打开vscode里边的首选项 进入设置 把Compact Folders下边对勾给勾掉...

[JavaScript游戏开发] 绘制冰宫宝藏地图、人物鼠标点击移动、障碍检测

系列文章目录 第一章 2D二维地图绘制、人物移动、障碍检测 第二章 跟随人物二维动态地图绘制、自动寻径、小地图显示(人物红点显示) 第三章 绘制冰宫宝藏地图、人物鼠标点击移动、障碍检测 第四章 绘制Q版地图、键盘上下左右地图场景切换 文章目录 系列文章目录前言一、本章节…...

【NLP概念源和流】 01-稀疏文档表示(第 1/20 部分)

一、介绍 自然语言处理(NLP)是计算方法的应用,不仅可以从文本中提取信息,还可以在其上对不同的应用程序进行建模。所有基于语言的文本都有系统的结构或规则,通常被称为形态学,例如“跳跃”的过去时总是“跳跃”。对于人类来说,这种形态学的理解是显而易见的。 在这篇介…...

桌面端 Claw 个人微信接入指南焕

1.概述在人工智能快速发展的今天&#xff0c;AI不再仅仅是回答问题的聊天机器人&#xff0c;而是正在演变为能够主动完成复杂任务的智能代理。OpenAI的Codex CLI就是这一趋势的典型代表——一个跨平台的本地软件代理&#xff0c;能够在用户的机器上安全高效地生成高质量的软件变…...

2025.04.15【技术前沿】| scran:解锁单细胞RNA测序数据潜能的瑞士军刀

1. scran&#xff1a;单细胞数据分析的瑞士军刀 第一次接触单细胞RNA测序数据时&#xff0c;我被海量的基因表达矩阵弄得晕头转向。直到实验室的师兄推荐了scran&#xff0c;这个R包彻底改变了我的分析体验。就像瑞士军刀一样&#xff0c;scran把二十多种常用工具集成在一个包里…...

Kro实战:如何创建第一个ResourceGraphDefinition实例

Kro实战&#xff1a;如何创建第一个ResourceGraphDefinition实例 【免费下载链接】kro kro | Kube Resource Orchestrator 项目地址: https://gitcode.com/gh_mirrors/kr/kro Kro&#xff08;Kube Resource Orchestrator&#xff09;是一款强大的Kubernetes资源编排工具…...

【NX二次开发】字符串操作-截取文件名

//确保路径格式为\\形式char *q strrchr(p, \\;) 1;...

Java Swing文件分类系统开发全记录

个人文件分类管理系统设计与开发实录从零开始打造一个Java Swing桌面应用的全过程记录前言 作为一名Java学习者&#xff0c;在完成基础知识的学习后&#xff0c;我一直想动手做一个完整的小项目来巩固所学。刚好借Java课程设计要求完成一个项目的契机&#xff0c;经过反复思考&…...

JL杰理AC696N开发板常见问题FAQ-问题6:为什么提示“key 不匹配”?杰理的蓝牙芯片的key是什么?以及该如何添加key? 杰理key文件原理?

引言做杰理蓝牙音频系列芯片开发&#xff0c;第一次编译下载时&#xff0c;可能会遇到一个报错提示&#xff1a;“KEY不匹配”。很多新手一脸懵&#xff1a;key是什么&#xff1f;为什么要加&#xff1f;怎么加&#xff1f;其实这是杰理芯片的一套软件授权保护机制。本文以JL杰…...

PyTorch 2.9镜像新手教程:5分钟学会调用预训练模型做推理

PyTorch 2.9镜像新手教程&#xff1a;5分钟学会调用预训练模型做推理 1. 为什么选择PyTorch 2.9镜像&#xff1f; PyTorch作为当前最流行的深度学习框架之一&#xff0c;其2.9版本带来了多项性能优化和新特性。对于刚入门深度学习的开发者来说&#xff0c;直接使用预配置好的…...

基于Qwen3-ASR-1.7B的智能录音笔方案:离线语音转写实现

基于Qwen3-ASR-1.7B的智能录音笔方案&#xff1a;离线语音转写实现 语音转写技术正逐步从云端走向终端&#xff0c;Qwen3-ASR-1.7B为嵌入式设备提供了本地化语音识别的可能性 1. 方案设计思路 传统的录音笔只能记录音频&#xff0c;后期需要导入电脑并通过联网服务才能转换成文…...

液压与气压课程设计

液压与气压传动作为现代工业的核心技术之一&#xff0c;在机械装备、自动化设备等领域发挥着不可替代的作用。其核心原理是通过液体或气体的压力传递能量&#xff0c;实现动力传输与运动控制。相比机械传动&#xff0c;液压系统具备功率密度高、响应速度快、调速范围广等优势&a…...

游戏虚拟资产交易安全技术解析:以三角洲生态为例

一、引言随着《三角洲》等射击类游戏虚拟经济体系的成熟&#xff0c;哈夫币、战备账号、游戏道具等虚拟资产交易需求激增。据 2026 年游戏行业数据显示&#xff0c;三角洲虚拟资产月交易规模突破 5 亿元&#xff0c;但传统交易平台存在黑币溯源难、账号易封禁、资金无保障等核心…...