首页 > 其他分享 >企业级GitLab搭建

企业级GitLab搭建

时间:2023-07-02 17:12:55浏览次数:55  
标签:git http GitLab 企业级 gitlab ctl yum 搭建

企业级GitLab搭建

一、简介

1.GitLab概述

是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。

Ruby on Rails 是一个可以使你开发、部署、维护 web 应用程序变得简单的框架。

GitLab拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

GitLab官网:https://about.gitlab.com/

image-20220120234514244

2.GitHub概述

Github概述:gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。

官网:https://github.com/

image-20220120234628452

3.GitLab和GitHub的区别

image-20220120234658906

相同点:

  1. 二者都是基于web的Git仓库,在很大程度上GitLab是仿照GitHub来做的;

  2. 它们都提供了分享开源项目的平台,为开发团队提供了存储、分享、发布和合作开发项目的中心化云存储的场所

不同点:

1、GitHub如果要使用私有仓库,是需要付费的。GitLab可以在上面创建私人的免费仓库。

2、GitLab:让开发团队对他们的代码仓库拥有更多的控制,相比于GitHub,它有不少的特色:

  • 允许免费设置仓库权限;
  • 允许用户选择分享一个project的部分代码;
  • 允许用户设置project的获取权限,进一步的提升安全性;
  • 可以设置获取到团队整体的改进进度;通
  • 过innersourcing让不在权限范围内的人访问不到该资源。

从代码私有性方面来看,有时公司并不希望员工获取到全部的代码,这个时候GitLab无疑是更好的选择。但对于开源项目而言,GitHub依然是代码托管的首选。

4.git相关概念

git:是一种版本控制系统,是一个命令,是一种工具

gitlib:是用于实现git功能的开发库

github:是一个基于git实现的在线代码托管仓库,包含一个网站界面,向互联网开放

gitlab:是一个基于git实现的在线代码仓库托管软件,一般用于在企业内网搭建git私服

注:gitlab-ce 社区版;gitlab-ee是企业版,收费

二、GitLab平台搭建

1.实验环境

CentOS 7.4(虚拟机需要6G,不然后期运行时,内存不够用,直接报错。)

# 备份YUM文件
cp -a /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

# 下载HUAWEI的YUM文件
wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo

# 清空缓存
yum clean all

# 加载YUM缓存
yum makecache

2.安装Gitlab组件

yum install curl policycoreutils openssh-server openssh-clients postfix policycoreutils-python net-tools git patch

# 开机自启POSTFIX,默认使用POSTFIX发送邮件
systemctl enable postfix
systemctl start postfix

# 防火墙设置
iptables -F  #清空规则
systemctl stop firewalld
systemctl disable firewalld

3.防火墙配置

4.安装GitLab

将下载的软件包gitlab-ce-10.2.3-ce.0.el7.x86_64.rpm 上传到linux系统中。

rpm -ivh gitlab-ce-10.2.3-ce.0.el7.x86_64.rpm  # 安装GitLab

配置并启动GitLab

gitlab-ctl reconfigure  # 重新配置应用程序。相当于初始化一下

可以使用gitlab-ctl管理gitlab

例如查看gitlab状态:gitlab-ctl status

image-20220121001831387

5.查看端口状况

netstat -antup | grep :80

image-20220121002203880

到此,GitLab安装成功!!!

默认使用nginx做为web服务器。

访问: http://IP

三、排错

总有很多人按照这个方法安装完后出现不同的错误,出现比较多的问题已经罗列。

1.出现502报错

image-20220121002532692

注:如果后期web界面访问时,总报502,要把防火墙清空规则,另外内存要大于4G,不然后内存不足,也报502错误,因为内存不足会导致很卡,从而响应超时。

解决:

iptables -F #清空规则

free -m #已经使用4G以上内存

image-20220121002709759

2.图片加载不完全

image-20220121011440062

解决:

  1. 编辑配置文件
# 编辑GITLAB的配置文件/ETC/GITLAB/GITLAB.RB
查找Gravatar关键字

image-20220121012749221

  1. 如果不开启https的话,用http就可以了,配置文件增加如下所示的plain_url修改为:
gitlab_rails['gravatar_plain_url'] = 'http://cdn.libravatar.org/avatar/%{hash}?s=%{size}&d=identicon'
#gitlab_rails['gravatar_plain_url'] = 'https://seccdn.libravatar.org/avatar/%{hash}?s=%{size}&d=identicon'

image-20220121013006350

  1. 停止GitLab服务
gitlab-ctl stop
  1. 重新加载配置
gitlab-ctl reconfigure
  1. 启动服务
gitlab-ctl start
  1. 再次重新启动
gitlab-ctl restart
  1. 访问正常(默认头像正常显示)

image-20220121013723245

四、登录GitLab

image-20220121002820499

这里需要填入新密码,第一次登录gitlab,需要为root用户修改密码,root用户也是gitlab的超级管理员。

然后会自动跳转到登录页面

image-20220121003148746

登录成功,到此GitLab就完成了!!!

image-20220121003309517

五、管理GitLab

gitlab-ctl stop  # 关闭gitlab
gitlab-ctl start  # 启动gitlab
gitlab-ctl restart  # 重启gitlab

最终,gitlab是安装到

image-20220121003528474

vim /etc/gitlab/gitlab.rb # 修改gitlab外部访问地址

改:external_url 'http://gitlab.example.com' 为:external_url 'http://ip'

注:这里必须修改,不然后后期访问时,用户到地址是:http://gitlab.example.com/xxx ,根本不能访问。 修改后获得的地址是:http://ip/xxxx

重启GitLab服务

gitlab-ctl reconfigure
gitlab-ctl restart

正常登录,形式为HTTP://IP/USER

image-20220121004342155

六、汉化

其实这个版本是可以汉化的,但是,身为一名合格的PYTHON攻城狮,即使看不懂也不汉化,13格瞬间提升档次(我没有档次,所以我选择汉化!!!emo了)。

把下载好的git汉化补丁gitlab-patch-zh.tat.gz上传到LINUX并解压之

image-20220121005242877

1.停止服务

gitlan-cli stop

2.备份

比较原版本号和汉化版本之前的区别,并把有区别的文件导出到/root

cd /opt/gitlab
git diff v10.2.3 v10.2.3-zh > /root/file/10.2.3-zh.diff

注意:这里必须要停止了GitLab才能比对。

image-20220121010803453

3.打补丁

将10.2.3-zh.diff作为补丁更新到gitlab中

patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < /root/file/10.2.3-zh.diff  # 这个目录下存储着关于web前端相关的页面
gitlab-ctl restart    #重启服务

4.登录汉化版本

image-20220121011208628

标签:git,http,GitLab,企业级,gitlab,ctl,yum,搭建
From: https://www.cnblogs.com/chancey/p/17521004.html

相关文章

  • ​Centos Linux 上搭建Apache服务器
    搭建Apache服务器  配置准备:网络     检查 配置问题解决  Centos7最小化安装报错Therearenoenabledrepos.Run"yumrepolistall"toseethereposyouhave.解决办法  身份切换到root账户,进入vim/etc/sysconfig/network-scripts/ifcfg-ens33修改文件,将ONBO......
  • AI - stable-diffusion(AI绘画)的搭建与使用
    最近AI火的一塌糊涂,除了ChatGPT以外,AI绘画领域也有很大的进步,以下几张图片都是AI绘制的,你能看出来么? 一、环境搭建上面的效果图其实是使用了开源的AI绘画项目 stable-diffusion 绘制的,这是它的官方仓库:https://github.com/CompVis/stable-diffusion但是这个官方......
  • 03-Vue.js环境准备-使用vue-cli快速搭建项目(cli3+)
    一、文章大纲二、安装环境本文基于如下的环境进行试验的:Windows10中文64位专业版。v12.18.3版本的Node.js。@vue/cli4.5.4的Vue.js和cli。三、安装vue-cli使用npm全局安装vue-cli:npminstall-g@vue/cli可以使用如下的创建项目的命令,查看vuecli的安装情况:按照上面的提示,先卸载......
  • 基于GPT搭建私有知识库聊天机器人(二)环境安装
    1、需要安装的包pip3installflask//python开发web框架pip3installlangchain//LLM开发框架pip3installopenai//LLMpip3installwechatpy//微信接口开发包pip3installpycryptodome//加解密包pip3installpdfplumber//读取和处理p......
  • gitlab--缓存 cache
    缓存cache介绍使用 cache 指定要在作业之间缓存的文件和目录列表。您只能使用本地工作副本中的路径。缓存在流水线和作业之间共享。缓存在产物之前恢复。cache:paths使用cache:paths关键字来选择要缓存的文件或目录,路径是相对于项目目录,不能直接链接到项目目录之外例如......
  • 免费搭建一个有脾气的聊天机器人,1行Python代码就够了!
    大家好,这里是程序员晚枫。之前在小破站:Python自动化办公社区给大家免费分享了用Python制作一个wx机器人,1行代码人人可用,很多人还想要免费的智能聊天功能。今天终于开发出来了,让我们一起看一下,如何用1行代码,实现智能聊天。我测试了很多次,回复一直很稳定,赶紧去试一下,这个机器人的......
  • [ GitLab ] GitLab CE 中各个参数对应的服务和功能,以及是否可以关闭
    https://www.cnblogs.com/yeungchie/ChatGPT说的。nginx:作为Web服务器和反向代理,用于访问GitLab的Web界面。可以关闭,但会导致无法通过Web界面访问GitLab。prometheus_monitoring:提供监控和报警功能,收集和分析GitLab的性能指标。可以关闭,不影响基本代码存放功能。registry:......
  • 云服务器 搭建NFS 文件系统 用于解决负载均衡session 文件共享等
    解决的问题:如果多台服务器负载均衡用户没有根据TCP设置分配在一台服务器那么session无法共享文件无法共享一台服务器创建了文件另外一台也会同步创建1.搭建NFSServe注意:共享系统的服务端和客户端不能安装在同一台服务器上例如你做负载均衡的2台服务器内网ip 12.20.10......
  • MIT 6.s081 实验环境搭建
    准备工作Linux系统,我是在实验室配的主机上装了DebianBookworm,然后mac通过ssh连接上去进行操作,宿舍里则是使用的wsl2,里面的发行版也是DebianBookworm。开始配置clone源码在~/Documents/code/mit目录下执行gitclonegit://g.csail.mit.edu/xv6-labs-2021,将源码cl......
  • 使用纯 ABAP 开发 SAP UI5 应用(一):abap2UI5 开发环境搭建介绍
    我从SAP社区博客上了解到一个开源项目,名叫abap2UI5,作者是OblomovDev,这是Github项目地址:https://github.com/abap2UI5/abap2UI5这个项目最吸引ABAP开发人员之处在于:传统的ABAP搞定一切:仅仅依靠最基础的传统ABAP编程语言,就可以开发并运行SAPUI5应用。不需要......