Gitlab详细安装

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gitlab详细安装相关的知识,希望对你有一定的参考价值。

一、简介

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,修改并不会被覆盖。

技术图片

更改默认监听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.命令解释
技术图片

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域)

以上是关于Gitlab详细安装的主要内容,如果未能解决你的问题,请参考以下文章

centos7安装配置gitlab详细教程

docker安装配置gitlab详细过程

CentOS服务器上搭建Gitlab安装步骤中文汉化详细步骤日常管理以及异常故障排查

CentOS服务器上搭建Gitlab安装步骤中文汉化详细步骤日常管理以及异常故障排查

Centos7-Docker 安装 Gitlab详细篇

CentOS服务器上搭建Gitlab安装步骤中文汉化详细步骤日常管理以及异常故障排查