前言
公司代码的管理工具五花八门,一部分人用SVN,一部分人用Git,对于习惯了使用Linux或者Mac命令行的人来说,Git的操作更方便和快捷,进行开会讨论决定整个源码管理全部切换成Git,GitHub需要付费使用,当然也可以选择Gitblit,个人选择使用GitLab,由于公司服务器没有连接外网,所以选择离线安装Gitlab。
简介
GitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。通过本教程的学习,可以让你熟悉企业级私库Gitlab的使用。
一、下载安装包
清华大学开源软件镜像站下载地址 :https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
gitlab官网下载地址:https://packages.gitlab.com/gitlab/gitlab-ce
二、安装Gitlab
2.1 上传安装包rpm
gitlab-ce-13.0.5-ce.0.el7.x86_64.rpm
2.2 使用rpm安装
rpm -ivh gitlab-ce-13.0.5-ce.0.el7.x86_64.rpm
控制台信息
2.3 修改访问ip和端口
vi /etc/gitlab/gitlab.rb
2.4 修改nginx默认端口,避免冲突
2.5 修改数据存储地址
default:数据主存储路径
alternative:数据存储备份路径
为访问磁盘毁坏丢失源码,故添加数据备份路径。
2.6 常用命令
关闭防火墙
systemctl stop firewalld
启动、停止、加载配置文件
## 启动
gitlab-ctl start
## 重启
gitlab-ctl restart
## 停止
gitlab-ctl stop
## 重新加载配置文件
gitlab-ctl reconfigure
## 查看状态
gitlab-ctl status
## 检查gitlab
gitlab-rake gitlab:check SANITIZE=true
## 查看日志
gitlab-ctl tail
## gitlab是根据hash值来保存的路径,这个值是项目id,项目id在每个项目的设置页面可以找到
echo -n 22 | sha256sum
设置开机自起和关闭开启自起
## 开机自起
systemctl start gitlab-runsvdir.service
## 关闭
systemctl disable gitlab-runsvdir.service
查看版本号
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
2.7 访问Gitlab
浏览器输入地址:http://172.16.20.101:8060/
默认密码:root/root 第一次登陆强制修改密码
2.8 数据迁移
如果遇到磁盘满了,需要迁移到别的目录,就需要数据迁移。
创建新数据目录
# 在有空间的磁盘创建目录,然后执行命令,如:
cp -rp /opt/data6/git-data/repositories/@hashed/ /opt/data3/git-data/repositories/
第一个目录是我目前已经被占满的目录,第二个是我新创建的存储目录,一般Gitlab创建的项目,仓库都在@hashed
修改存储目录
按顺序执行命令
## 停止
gitlab-ctl stop
## 重新加载配置文件
gitlab-ctl reconfigure
## 添加目录权限
chown -R git.git /opt/data3/git-data/repositor*
## 启动
gitlab-ctl start
2.9 Prometheus 监控配置
gitlab 默认启用 Prometheus,数据存储时长是 15天,经观察磁盘占用较大,建议做配置处理。
直接关闭服务
vim /etc/gitlab/gitlab.rb
prometheus['enable'] = false
设置数据天数,以及数据目录地址
prometheus['flags'] = {
'storage.tsdb.path' => "/var/opt/gitlab/prometheus/data",
'storage.tsdb.retention.time' => "15d",
'config.file' => "/var/opt/gitlab/prometheus/prometheus.yml"
}
保存配置,再重启 gitalb 即可
gitlab-ctl stop
gitlab-ctl reconfigure
gitlab-ctl start