GitLab私有代码仓库部署

Gitlab代码仓库私有化部署 gitlab代码管理仓库涉及版本不同,那么在恢复安装或数据还原时也需要采用相同的版本,否则有可能导致部署或恢复失败的风险。到这里了也请动动您的鼠标和小手关注一下我吧,同时也期待您在评论区提出建议,可以使我创作更优质的内容。 阅读详情

1 GitLab简介

  • 版本:

Gitlab分为社区版Gitlab CE 和企业版Gitlab EE

  • Gitlab服务主要构成

nginx:静态web服务器
gitlab-shell:用于处理Git命令和修改authorized keys列表
gitlab-workhorse:轻量级的反向代理服务器
logrotate:日志文件管理工具
postgresql:数据库
redis:缓存数据库
sidekiq:用于在后台执行队列任务(异步执行)
unicorn:An HTTP server for Rack applications,GitLab Rails应用是托管在这个服务器上面的。

  • 主要服务介绍:Gitlab shell

两个作用:为GitLab处理Git命令、修改authorized keys列表

  • 主要服务介绍:Gitlab-workhorse

GitLab Workhorse是一个敏捷的反向代理。它会处理一些大的HTTP请求,比如文件上传、文件下载、Git push/pull和Git包下载。其它请求会反向代理到GitLab Rails应用,即反向代理给后端的unicorn。官网对GitLab Workhorse的介绍在这里:https://gitlab.com/gitlab-org/gitlab-workhorse/

2 Gitlab安装部署

Gitlab官方安装文档:https://about.gitlab.com/installation/#centos-7
GitLab国内源下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/

安装环境:
centos 7.5.1804
3.10.0-862.3.3.el7.x86_64
Gitlab服务器的CPU核数与内存最好

2.1 Gitlab安装

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.2.3-ce.0.el7.x86_64.rpm
 yum localinstall gitlab-ce-11.2.3-ce.0.el7.x86_64.rpm -y

#yum localinstall 利用yum安装本地指定的rpm包,好处是自动解决依赖问题

#初始化GitLab,只需要执行一次
gitlab-ctl reconfigure

#查看gitlab启动状态,有多个进程启动
gitlab-ctl status

#查看GitLab版本号
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

浏览器输入http://ip即可访问,初次访问需要设置管理用户root的密码,最低8位
设置完成后可以登录,

2.2 Gitlab中文社区版补丁包安装

GitLab中文社区:https://gitlab.com/xhang/gitlab/tree/11-2-stable-zh
补丁版本最好是和原版本相同

#解压GitLab中文版补丁包
tar xf gitlab-11-2-stable-zh.tar.gz

#查看解压后的补丁包版本号
cat gitlab-11-2-stable-zh/VERSION 

#备份英文版GitLab
cp -r /opt/gitlab/embedded/service/gitlab-rails{,.bak}

#将中文补丁包的内容覆盖英文版
/bin/cp -rf gitlab-11-2-stable-zh/* /opt/gitlab/embedded/service/gitlab-rails/

#重新配置GitLab
gitlab-ctl reconfigure

#重新启动GitLab
gitlab-ctl restart

重新刷新浏览器访问gitlab,部分内容就可以中文显示

2.3 使用Gitlab的简易网页端

创建新项目:
设置项目管理员,项目名称为jcjc,项目描述,可见等级
创建完成后,此时代码仓库的http地址还是使用的默认域名,可以通过修改配置来修改,也可以修改Gitlab的默认端口,避免冲突

2.4 修改Gitlab配置文件/etc/gitlab/gitlab.rb

#修改默认域名和端口
cat -n /etc/gitlab/gitlab.rb | sed -n '13p;943p'
13  external_url 'http://192.168.200.121:8888'
943  nginx['listen_port'] = 8888

域名可以修改为本机IP,若本机预装了nginx,可以修改其中的一个参数,停用Gitlab内置Nginx
nginx['enable'] = false

#重新配置GitLab
gitlab-ctl reconfigure

#重启动GitLab
gitlab-ctl restart

重新访问浏览器http://IP:8888
进入刚才创建的项目,可以看到项目的URL已经被改变了

3 Gitlab代码推送下载

  • 将本地仓库代码推送到私有GitLab
#在另外一台服务器上测试上,创建git工作目录,添加远程仓库
mkdir /gitlab
cd /gitlab
git init 
git remote add origin http://192.168.200.121:8888/root/jcjc.git

#创建代码master分支,再测试提交
touch master.txt
git add master.txt
git commit -m "test master"
git push -u origin master
#验证主程序员的账号密码
#然后去web端查看提交是否正常

#创建linux分支,测试提交
git branch linux
git checkout linux
touch linux.txt
git add linux.txt
git commit -m "test linux"
git push -u origin linux
#验证主程序员的账号密码
#然后去web端查看提交是否正常

#创建标签,测试提交
git tag v1.0
git push -u origin v1.0
#验证主程序员的账号密码
#然后去web端查看提交是否正常
  • 在本地仓库克隆GitLab的项目Linux分支到本地仓库
#创建Git工作目录
mkdir -p /mycode
cd /mycode
git init

#克隆远程仓库GitLab的Linux分支
git clone -b linux http://192.168.200.121:8888/root/jcjc.git

#进入工作目录,查看代码下载是否正常
cd jcjc
ls

4 配置Gitlab的ssh密钥连接方式

4.1 配置ssh公钥连接

在本地生成秘钥对
ssh-keygen -t rsa -C '1198563987@qq.com'
#-C:指定注释信息创建密钥

cat ~/.ssh/id_rsa.pub
#复制公钥内容到Gitlab上

在web端,点击用户----》settings----》ssh keys
将公钥内容粘贴到key一栏,并且添加,标题会自动添加为公钥的注释信息

4.2 测试ssh方式克隆代码

mkdir /test
cd /test
git init
git clone -b linux git@192.168.200.121:root/jcjc.git

#不需要任何验证而克隆成功就是部署成功
#查看代码内容及分支位置
cd /test
ls
git branch

5 配置Gitlab邮件服务

  • 配置邮箱服务的用途:
    有合并请求时,邮件通知
    账号注册时,邮件验证
    修改密码时,通过邮件修改

  • 配置步骤:
    开启QQ邮箱的smtp服务
    修改gitlab配置
    测试邮件服务是否正常

  • 开启GitLab服务postfix服务并开启QQ邮箱的smtp服务

systemctl start postfix
systemctl enable postfix
systemctl status postfix

开启QQ邮箱的POP3/SMTP和IMAP/SMTP服务,生成授权码

修改/etc/gitlab/gitlab.rb

cat -n /etc/gitlab/gitlab.rb | sed -n '53p;472,480p;618p'
53  gitlab_rails['gitlab_email_from'] = '1198563987@qq.com'  #GitLab默认邮箱
472  gitlab_rails['smtp_enable'] = true                      #开启功能
473  gitlab_rails['smtp_address'] = "smtp.qq.com"            #QQ的smtp服务
474  gitlab_rails['smtp_port'] = 465                         
475  gitlab_rails['smtp_user_name'] = "1198563987@qq.com"    #smtp用户邮箱
476  gitlab_rails['smtp_password'] = "授权码"
477  gitlab_rails['smtp_domain'] = "qq.com"                  #smtp域名
478  gitlab_rails['smtp_authentication'] = "login"
479  gitlab_rails['smtp_enable_starttls_auto'] = true
480  gitlab_rails['smtp_tls'] = true
618  user['git_user_email'] = "1198563987@qq.com"            #git用户邮箱
#重新加载GitLab配置文件
gitlab-ctl reconfigure
#重启动GitLab服务
gitlab-ctl restart
#开启GitLab控制台,进行邮件发送测试
gitlab-rails console
#当出现以下提示符就是成功进入
irb(main):001:0>

#给自己发邮件测试
Notify.test_email('1198563987@qq.com','this is title','hello').deliver_now  

其中:
Notify.test_email('收件人邮箱','邮件标题','邮件内容')

exit或者ctrl+D是退出控制台

6 Gitlab的账户,分组,权限设置

6.1 web端设置开启邮件相关服务

登录root用户,在设置settings中,找到创建用户选项Sign-up restrictions,勾选注册时发送确认邮件,然后在这一项最下面点击保存save changes,然后collapse
开启这一项,是为了在创建用户时,发送相关信息邮件

6.2 注册用户

在登录界面,可以注册用户
自定义姓名,用户名,填写自己的邮箱,密码等,假设现在创建用户linux
其中,用户名和邮箱是可以作为登录web端的账号名,也可以作为推送到Gitlab仓库时验证步骤中的用户名

出现Alomost there界面,就是提示要去注册的邮箱确认,在此之前,Gitlab会给该邮箱发送一个确认邮件,确认之后,就可以使用该账户登录Gitlab了,但此时该用户应该还没有相关项目和分组

6.3 创建项目组(分组)

  1. 登录root用户,依次点击Groups,Your groups,创建新群组New group,假设现在创建群组为dev
  2. 创建新群组,自定义群组名称、路径,可见等级

6.4 给群组添加成员并授权

点击dev群组,选择members,添加刚才创建的用户linux到该组,权限设置为Master主程序员,设置成功linux用户的邮箱会收到邮件,内容为“您已被接收作为 主程序员 访问 dev group”

  • Guest访客:
    只能发表评论,不能读写项目库
  • Reporter报告者:
    只能克隆代码(读),不能提交代码(修改)
  • Developer开发人员:
    可以进行代码的读写
  • Master主程序员:
    可以添加项目成员,添加标签,创建和保护分支
  • Owner所有者:
    拥有所有权限(一般不用此权限)

6.5 给项目组创建新项目并测试提交,克隆

  • 在web端创建一个私有项目benet,然后在服务器上进行组成员的项目提交测试
#初始配置本地仓库并添加远程仓库
mkdir -p /test
cd /test
git init
git remote add dev http://192.168.200.121:8888/dev/benet.git

#创建代码提交,推送
touch master.txt
echo "测试dev主分支" > master.txt
git add *
git commit -m "测试master"
git push -u dev master
#验证信息为刚才设置的主程序员的信息
#然后去web端查看提交情况
  • 进行组成员代码的克隆测试
mkdir /test2
cd /test2

git clone http://192.168.200.121:8888/dev/benet.git

#查看代码克隆情况
cd benet
ls
从零部署GitLab:私有代码仓库与DevOps平台搭建实战指南 在软件开发和团队协作中,版本控制系统是管理代码变更、实现高效协作的核心基础设施。Git作为分布式版本控制系统的代表,通过记录文件快照和分支管理,解决了代码版本混乱和并行开发的难题。基于Git的代码托管平台进一步将版本控制与协作流程结合,形成了完整的DevOps工具链,其技术价值在于实现代码的集中管理、自动化流程和团队协作的标准化。在实际应用场景中,企业常面临私有化部署、数据安全与成本控制的需求,这促使了自托管Git解决方案的普及。本文聚焦于GitLab这一集成了代码托管、CI/CD流水线、问题跟踪等功能的A 阅读详情

相关推荐

飞牛NAS上Docker化GitLab:从零到一的私有代码仓库搭建实战

本文详细介绍了在飞牛NAS上使用Docker部署GitLab私有代码仓库的完整实战流程。从环境准备、镜像拉取、容器配置与端口映射,到数据持久化、首次访问及SSH端口等关键配置,提供了保姆级步骤。文章还涵盖了性能优化、邮件通知设置及日常维护指南,帮助开发者和团队以低成本构建安全、高速且可控的代码托管环境。

weixin_28454475的博客 385

搭建私有Git服务器:GitLab部署详解

本文将指导你通过Bash命令在Linux服务器上部署GitLab,帮助你搭建一个功能强大的私有Git服务器。我们将介绍安装依赖、配置服务器、下载GitLab软件包、运行GitLab服务等步骤,并提供相应的Bash命令。通过本文的详细指导,你将能够轻松搭建起一个安全、稳定的Git服务器,满足团队的协作开发需求。

欢迎来到“Python算法探索”,我是GT算法工程师,一名热爱计算机算法的博主。在这里,我们将一起深入探索Python世界中的各种算法,从基础到高级,从理论到实践。我参加过很多算法比赛,积累了丰富的经验,希望通过这个播客与你分享。让我们一起用Python探 1万+

GitOps实践 | 快速在银河麒麟KylinOS国产系统部署最新Gitlab-CE企业私有代码仓库

欢迎关注「专注等知识分享设为每天带你到再到!作者主页:[ https://www.weiyigeek.top ]博客:[ https://blog.weiyigeek.top ]关注回复【】加入【】答疑交流群原文地址:GitOps实践 | 快速在银河麒麟KylinOS国产系统部署最新Gitlab-CE企业私有代码仓库。

全栈工程师修炼指南-IT知识分享 1040

Gitlab: 私有化部署

gitlab是一个强大且免费的代码管理/部署工具,能统一集成代码仓库,CI/CD的工作。开始时我以为只能在官网上使用,后来才知道能私有化部署,确实了不起。gitlab资源要求比较高,建议8核16G,目前我的虚拟机是分配了5核12G,要是工作任务上来,还要划拨资源。docker-composer方式,指定外部访问url为。安装后进去容器设置管理员(root)密码。

bennybi的博客 1万+

5分钟搞定DataDome滑块验证码:最新Capsolver API实战教程(含代理配置)

本文提供了一份利用Capsolver API快速自动化破解DataDome滑块验证码的实战教程。文章深入剖析了DataDome验证码的环境指纹与行为分析机制,并重点详解了确保成功率的住宅代理配置、API集成步骤及令牌使用等核心环节,帮助开发者高效集成稳定可靠的自动化解决方案。

milk8的博客 496

codesys【modbusRTU】主站

【代码】modbusRTU【codesys】

cfqq1989的博客 4375

私有GitLab的内网搭建与维护

摘要:由于有私有代码保密和开发代码托管需求,将在部门内部网络(与互联网不联通)搭建GitLab代码托管服务器。本次的部署步骤主要是,第一,下载好离线的GitLab安装包和依赖包;第二,部署gitlab到Linux服务器中;第三,调整gitlab配置文件。

weixin_48315472的博客 4490

Delphi 12.3 精简绿色版下载

Delphi精简绿色版基于原版安装,去掉了InterBase、法语、德语、日语,只保留了Delphi Windows 32和Delphi Windows 64桌面开发,其余部分未做任何修改。Delphi精简绿色版不含任何破解,仅供学习和研究,24小时后请自行删除,如需继续使用Delphi,请购买正版。绿色版基于原版安装,未做任何精简和修改。绿色版不含任何破解,仅供学习和研究,24小时后请自行删除,如需继续使用RAD Studio,请购买正版。

全粘工程师 4308

私有git服务器(gitlab)部署,汉化,项目备份,迁移

1. docker搭建gitlab服务器 2. gitlab服务器备份和恢复备份 3. 从别的服务器迁移到gitlab

merlon学习笔记 2950

AHP层次分析法在项目风险评估中的实战应用(含Excel模板)

本文详细介绍了AHP层次分析法在项目风险评估中的实战应用。通过构建风险层次模型、利用判断矩阵量化主观判断,并结合Excel工具进行权重计算与一致性检验,将模糊的定性风险转化为清晰的量化排序。文章以新产品上线项目为例,提供了完整的分析流程和可操作的Excel模板,帮助项目经理高效识别并优先处理核心风险。

weixin_29061465的博客 571

CANoe数据回放实战:如何用Replay Block精准复现实车故障(附ECU数据处理技巧)

本文深入探讨了利用CANoe的Replay Block功能进行数据回放,以精准复现实车偶发性故障的实战方法。文章重点解析了从原始OBD日志中移除目标ECU数据、转换报文方向等核心数据处理技巧,旨在帮助工程师重构真实的网络测试环境,从而高效定位并解决复杂的ECU问题。

nnn11的博客 496

【运维安装部署】安装部署私有化GitLab

Linux系统安装部署GitLab

weixin_53330763的博客 2290

YOLOv11改进策略【Neck】| arXiv 2025 分层多头注意力HMHA 子空间拆分提多样 + 通道重排降冗余,强化目标检测精度

HMHA(Hierarchical Multi-Head Attention,分层多头注意力)旨在解决传统多头注意力(MHA)在图像恢复任务中的核心缺陷——特征冗余。传统MHA将通道均匀拆分给各个头,导致不同头学习的子空间信息相似,进而出现多头关注同一区域、忽略退化区域修复的问题,限制了模型的特征表达能力。HMHA通过“分层子空间拆分+通道重排序”策略,让每个头学习差异化、互补的上下文特征,从根源上缓解冗余,提升图像恢复任务中对复杂退化场景的特征捕捉能力。

Limiiiing的博客 779

部署私有代码仓库gitlab(docker-compose方式)

为了实现GitOps完全的私有化部署,完成最后一块拼图,将代码仓库gitlab也安装到本地环境。

yuweibing78的博客 374

基于 FPGA 的 CNN 卷积神经网络之池化层 Verilog 实现

池化层是卷积神经网络(CNN)中的关键组件,用于降低特征图的维度,减少计算量和防止过拟合。常见的池化操作包括最大池化和平均池化。FPGA 提供了高效的并行处理能力,可以加速这些操作。池化层在 CNN 中扮演重要角色,通过降低数据维度提升计算效率。在 FPGA 上实现池化层,可以充分利用硬件资源实现高效的并行计算,有助于提高实时应用中的推理速度。

走向CTO的路上... 1256

SAP HANA 中的 Union Node Pruning:让 Calculation View 少走弯路的关键优化

摘要:SAP HANA的Union Node Pruning技术通过在执行前排除无关数据源来优化查询性能。该技术主要采用三种方式:Constant Mapping(适用于规则稳定的场景)、Pruning Configuration Table(灵活性高)和Column-Based Pruning(基于列可用性)。典型应用场景包括分层存储的数据查询,如区分当前和历史销售数据。需要注意的是,当查询发生Unfolding且不含聚合时,Pruning可能失效,此时可通过NO_CALC_VIEW_UNFOLDING提

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 875

使用docker快速部署gitlab私有代码仓库

1.创建主机映射目录用于映射docker容器的目录文件

Hello Word 164

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

一文带你部署私有化代码仓库gitlab

一文带你部署私有化代码仓库gitlab

weixin_44151123的博客 2350

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

企业级私有代码仓库gitlab部署

GitLab 是一个用于仓库管理系统的开源项目,使用 Git 作为代码管理工具,并在此基础上搭建起来的 web 服务GitLab 具有很多功能,比如代码托管、持续集成和持续部署(CI/CD)、问题跟踪、合并请求管理等。它可以帮助开发团队更好地协作开发软件项目,提高开发效率和代码质量。

huaz_md的博客 1344

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

基于Linux安装私有化部署GitLab代码仓库

最近访问自己的Gitee开源仓库时候,需要手动提交审核,并且同意gitee.com的条款,好在审核1-2小时就审核通过了,但还是有些膈应。Github也是经常性抽风,不如就自己搭建gitlab的仓库,没有条条框框的限制。 同意条款: 什么是Gitlab GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。 前期准备 一台Linux服务器,

星哥玩云 2045

【GitLab】使用Docker和Docker-Compose部署-个人、私有代码仓库

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。 GitLab和GitHub一样是仓库管理系统,不一样的是GitLab可以自己搭建,自己或企业内部使用。 环境准备 Linux系统 docker docker-compose

持续分享,个人的运维经验,包含:云计算、Linux、Windows、容器、K8s、CICD、Python、运维开发、公有云等;以及个人经历相关内容,包含:实习、面试经验等。 2173

部署docker本地私有镜像仓库

Harbor介绍 安装Harbor 部署gitlab 配置Harbor

教Linux的李老师 1016

GitLab部署与使用+

1.github和gitlab傻傻分不清。 github是外网的,公共的,代码仓库。 gitlab是私有的,我们自己部署的一台代码仓库服务器。 2.部署 环境:一台裸鸡,内存2g+,必要的依赖。关闭防火墙 国内镜像:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/ 具体地址:https://mirrors.tuna.tsin...

一只菜鸡的专栏 415

Docker部署常见应用之企业级代码仓库GitLab

使用 Docker 安装 GitLab 是一个相对简单的过程,可以让你快速搭建起一个企业级私有的代码仓库服务

weixin_44585288的博客 1538

GitLab不再为中国大陆、香港、澳门提供账号服务

GitLab 是一个基于 Git 的开源代码仓库管理系统,主要用于代码托管、项目管理和 CI/CD(持续集成/持续部署)。GitLab 官方仓库GitHub 镜像仓库这两个仓库都包含了 GitLab 的核心代码,gitlab.com 上是官方版本,而 github 上的版本是GitLab CE 的镜像版本。可以看到 github8 小时前还有一次Commit:“ Add latest changes from gitlab-org/gitlab@master”。

Hanko的专栏 1255

Ubuntu22.04 服务器搭建本地GitLab:企业级代码仓库部署指南

本文详细介绍了GitLab开源平台的安装与配置流程。

糯米丸子TAT的博客 1208
上一篇: GIT分布式代码版本控制系统
下一篇: NTP时间服务部署
jccodecode
博客等级 码龄7年 1607粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值