代码管理平台gitlab

一.gitlab介绍

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
gitlab官网:https://about.gitlab.com/
gitlab有免费和付费的,但是我们自己搭建的gitlab也是有全部的功能的。
代码管理平台gitlab_第1张图片

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_第2张图片
代码管理平台gitlab_第3张图片

三.使用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

代码管理平台gitlab_第4张图片
创建group:
代码管理平台gitlab_第5张图片
创建项目:
代码管理平台gitlab_第6张图片
创建用户:
代码管理平台gitlab_第7张图片
代码管理平台gitlab_第8张图片
代码管理平台gitlab_第9张图片
然后我们可以退出root,用ligen登入:
代码管理平台gitlab_第10张图片
代码管理平台gitlab_第11张图片
设置ssh密钥:
代码管理平台gitlab_第12张图片
建立私有仓库:
代码管理平台gitlab_第13张图片

四.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 //后面是备份文件名后缀

你可能感兴趣的:(运维linux,gitlab)