Gitlab的安装搭建
admin
2023-03-02 17:22:08
0

一、简介

git
git 是一种开源的版本控制系统,可以高效的管理项目版本。同时也是一个版本控制软件。

GitHub
GitHub 是一个面向开源及私有软件项目的托管平台。GitHub可以托管各种Git库,并提供web界面。

GitLab
GitLab 是一个用于仓库管理系统的开源项目,使用git进行代码管理工具,可以自己搭建GitLab仓库服务器。


GitLab:是一个基于Git实现的在线代码仓库托管软件,你可以用gitlab自己搭建一个类似于Github一样的系统,一般用于在企业、学校等内部网络搭建git私服。
功能:Gitlab 是一个提供代码托管、提交审核和问题跟踪的代码管理平台。对于软件工程质量管理非常重要。
版本:GitLab 分为社区版(CE) 和企业版(EE)。
配置:建议CPU2核,内存2G以上。

优点:
1.git是分布式的,svn不是
git分布式本地就可以用,可以随便保存各种历史痕迹,不用担心污染服务器,连不上服务器也能提交代码、查看log。
2.GIT分支和SVN的分支不同
分支在SVN中实际上是版本库中的一份copy,而git一个仓库是一个快照,所以git 切换、合并分支等操作更快速。
3.git有一个强大的代码仓库管理系统 - gitlab
可以很方便的管理权限、代码review,创建、管理project

仓库数据位置:ls /var/opt/gitlab/git-data/repositories/

二、参数及操作
1.下载官方yum源,yum install gitlab 清华大学镜像源:
https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce
安装依赖项
yum install -y curl openssh-server openssh-clients postfix cronie policycoreutils-python
启动postfix,并设置为开机启动 
systemctl start postfix
systemctl enable postfix
设置防火墙 (可忽略)

firewall-cmd --add-service=http --permanent
firewall-cmd --reload
Gitlab-ctl reconfigure 重载
Gitlab-ctl restart 重启
查看版本 cat /opt/gitlab/embedded/service/gitlab-rails/VERSION 11.3.6

2.更改默认端口
使用gitlab内置的nginx,修改nginx默认端口,从80变为82。
由于这时候进行了上述的配置,因此,修改下列文件会改变默认值。同时,如果重新运行gitlab-ctl reconfigure,修改并不会被覆盖。

Gitlab的安装搭建

更改默认监听8080为8082
gitlab_workhorse['auth_backend'] = "http://localhost:8082"
unicorn['port'] = 8082#原值unicorn['port'] = 8080

vi /var/opt/gitlab/nginx/conf/gitlab-http.conf 这里要和上述一直哦
listen :82; #默认值listen :80;

4.使用gitlab内置nginx,把修改unicorn的默认端口从8080改为8082。即nginx监听的rails端口,类似php-fpm
vi /var/opt/gitlab/gitlab-rails/etc/unicorn.rb
listen "127.0.0.1:8082", :tcp_nopush => true
#原值listen "127.0.0.1:8080", :tcp_nopush => true

Gitlab-ctl restart
30秒后访问 否则502或404

5.汉化:
1.查看gitlab版本cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
2.下载对应汉化包https://gitlab.com/xhang/gitlab
3.解压并进入汉化包目录查看版本 cat gitlab-11-1-stable-zh/VERSION
4.先备份防止汉化失败及时修复cp -r /opt/gitlab/embedded/service/gitlab-rails/ /home/test/bak
5.查看别名 alias 注意alias cp=cp -i
6.vim ~/.bashrc注销掉cp -i(完事之后改回来)
7.\cp -rf gitlab-11-2-stable-zh/
/opt/gitlab/embedded/service/gitlab-rails/
7.重载重启 gitlab-ctl reconfigure gitlab-ctl restart

6.备份设置
#每天备份,7天后删除7天以前的备份
###gitlab_rails['manage_backup_path'] = true
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
#604800秒 7天后删除之前的
gitlab_rails['backup_keep_time'] = 604800

7.命令解释
Gitlab的安装搭建

502错误 404
1.思路
一般如果是刚重启完服务那就等1分钟,一定要看nginx 日志还有gitlab状态(gitlab-ctl status),查看/etc/gitlab配置文件 的端口占用情况
2.解决
gitlab-ctl restart sidekiq 
gitlab-ctl hup unicorn 

3.clone时提示warning: templates not found /usr/share/git-core/templates
创建这个目录即可

4.git clone shh...时提示输入git密码
检查公钥文件和authorized_keys是否和公钥一致
然后再尝试添加ssh-add ~/.ssh/45id_rsa
5.ssh_exchange_identification: read: Connection reset by peer
fatal: Could not read from remote repository.
注意/etc/hosts.deny这个文件是不是自己的IP在里面被拒绝了!

如果在Git克隆上,系统会提示您输入密码,例如git@gitlab.com's password:
SSH设置有问题。mie
确保您正确生成了SSH密钥对,并将公共SSH密钥添加到了GitLab配置文件
尝试使用ssh-agent本文档前面所述的方法手动注册您的私有SSH密钥
尝试通过运行来调试连接ssh -Tv git@example.com
(替换example.com为您的GitLab域)

相关内容

热门资讯

有人呼吁白宫“封杀”中国开源大... 未来一段时间,将有多款中国开源模型发布。Kimi K3定于7月27日正式开源,阿里即将开源2.4万亿...
20名“高考状元”选择学医!此... 2026年香港高考的24名“状元”中,有20人明确表示将留港攻读医科。多年来,香港最顶尖的“学霸们”...
“抢人大战”,风向有变? 各地一场“抢老人”的大战,已然徐徐拉开大幕。最近,有着人口净流出压力的吉林,计划拿出3亿元发展旅居康...
石家庄一家不限量的爱心素食面馆... 7月24日正午时分,记者来到位于石家庄市新华区东明家居西二环店北门旁的“素面”小店,不大的店面里坐满...
中材科技申请风电叶片外补强辅助... 国家知识产权局信息显示,中材科技(伊吾)风电叶片有限公司申请一项名为“风电叶片外补强辅助固化装置”的...
为人工智能治理提供重要公共产品 图为2026世界人工智能大会暨人工智能全球治理高级别会议举办期间,在世博展览馆灵心巧手展位,参观者观...
泽连斯基称俄对乌多地发动大规模... 当地时间25日,乌克兰总统泽连斯基通报称,俄军于当日凌晨对乌克兰多地发动大规模空袭,使用2枚导弹、近...
不怕没水!武汉科学家找到水稻身... 干旱来了,水稻启动"抗旱模式",可一启动就长不大、结得少——这是困扰育种界几十年的老难题。7月23日...
多款手机涨价超1000元,大存... 今年暑期消费旺季,国内智能手机市场迎来一轮显著的价格上调。第一财经记者走访深圳多家品牌门店发现,以v...
SpaceX上市后星舰首飞:首... 界面新闻实习记者 | 李响 在经历多次波折后,SpaceX公司的星舰(Starship)终于完成了...