一.gitlab介绍
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
gitlab官网:https://about.gitlab.com/
gitlab有免费和付费的,但是我们自己搭建的gitlab也是有全部的功能的。
gitlab和github的区别:
gitlab和github的主要区别在于gitlab可以部署到自己的服务器上,比较适合而github是不可以的,而且GitLab个人注册用户也可免费创建私有仓库,而github是不可以的,简单来说可把GitLab看作个人版的GitHub。
有关github的介绍和使用可以看我之前写的:https://blog.csdn.net/qq_37369726/article/details/103181539
二.gitlab安装
官方安装文档:
https://about.gitlab.com/install/
要求服务器内存不少于2G
首先我们可以先搭建一个gitlab的yum源,这样下载的时候不会太慢。官方的有可能要一个多小时。
#添加gitlab的yum源
vim /etc/yum.repos.d/gitlab.repo
#添加下面的内容
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
安装:
yum makecache //重新生成缓存
yum install -y gitlab-ce //ce表示社区版
加载配置文件:
gitlab-ctl reconfigure //会自动的完成,会帮你把有关gitlab的服务启动起来
gitlalb安装是很简单,就是因为太简单,导致有什么问题维护起来有一定难度。一定要做好数据的备份,包括创建的用户、仓库和添加用户的一些key等等。
gitlab启动/重启/停止/状态:
gitlab-ctl start/restart/stop/status
然后查看有没有什么防火墙规则,加一条http放行或者80端口:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
检查内存和系统负载,负载很高的话说明配置太低了,有可能打不开网页或者很卡:
free -h
w
打开网页,输入ip进入。
打开网页第一件事就是要求改密码:
三.使用gitlab
gitlab常用命令:
#其中一项就是查看各个相关进程的日志。gitlab包含redis,postgresql等
gitlab-ctl tail redis
gitlab-ctl tail postgresql
gitlab-ctl tail gitlab-workhorse
gitlab-ctl tail logrotate
gitlab-ctl tail nginx
gitlab-ctl tail sidekiq
gitlab-ctl tail unicorn
更改gitlab端口和域名:
vim /var/opt/gitlab/nginx/conf/gitlab-http.conf
创建group:
创建项目:
创建用户:
然后我们可以退出root,用ligen登入:
设置ssh密钥:
建立私有仓库:
四.gitlab备份和恢复
gitlab是在线备份的
gitlab-rake gitlab:backup:create
它会把备份的文件放到:
ls /var/opt/gitlab/backups/
1580894004_2020_02_05_12.7.5_gitlab_backup.tar
#文件名包括时间戳,版本
#注意如果版本9恢复到10的话会出现问题,需要版本一致
gitlab 恢复:
#先停掉unicorn和sidekiq,不要再有数据的变更
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
#恢复命令
gitlab-rake gitlab:backup:restore BACKUP=1580894004_2020_02_05_12.7.5 //后面是备份文件名后缀