Gitlab维护记录

   目前互联网公司主流的代码仓库统是gitlab,相似github的实现,维护gitlab已经有两年多的时间,html

下面说一下维护过程当中的注意点,以及如何维护更好。git

   分别是搭建,首先得搭建起来,否则怎么玩,其次是备份、备份、备份,谁也不能保证服务器会不会github

忽然之间Down掉,为了保险起见,建议全部重要的业务必定要有备份。固然,仅仅有备份仍是不够的,segmentfault

为何呢?由于你还要作恢复演练测试,假如你的备份数据恢复不了,你备份有个毛用,和没备份是没有centos

区别的,因此还要验证你备份的数据可否恢复系统。再说一下,备份数据不要放在提供服务的主机上,bash

否则主机挂了你备份数据是取不出来的,到时候就尴尬了,建议放在专门的备份服务器。服务器

Gitlab搭建

      gitlab的搭建目前很是简单了,查看官网就能够搭建,主要是一个rpm包,你装上了就所有就行了,ssh

如今不须要像之前同样一个个的编译了,若是你有兴趣也能够这么作,固然我是不建议的。curl

     下载地址: https://packages.gitlab.com/gitlab/gitlab-ceide

    1. 安装依赖软件

yum install curl openssh-server openssh-clients postfix cronie
service postfix start
chkconfig postfix on

  2.安装方式能够经过下载rpm包或者添加yum源直接安装的方法.

使用清华大学的源:

# 新建 /etc/yum.repos.d/gitlab-ce.repo,内容为
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1

  

# 安装命令
yum install gitlab-ce

3. 配置并启动Gitlab

gitlab-ctl reconfigure

4.登陆gitlab而且重置密码.

 安装完成后能够经过 http://主机ip 的方式来访问,会输入两次密码,重置的是管理员root的密码.重置完成则能够经过root用户登陆进行管理.

 

GitLab特殊配置

    gitlab安装完成后会有一个默认的存储代码仓库的路径,建议本身自定义到大磁盘上,以避免以后磁盘空间引发没必要要的麻烦。

  1. 配置gitlab的项目代码存储目录为 /data/GitData/git-data/

       建立目录 mkdir -pv /data/GitData/git-data/

       修改权限 chown git -R  /data/GitData/git-data/

   2. 修改配置文件

# /etc/gitlab/gitlab.rb 添加配置:
git_data_dirs({ "default" => { "path" => "/data/GitData/git-data" } })

3. 配置访问的域名.

   建议使用域名进行访问,由于使用ip的话不太友好,并且以后换ip后会很是痛苦,至关于全部的使用人员都须要改,这是不能容忍的.

# /etc/gitlab/gitlab.rb 修改配置:
external_url 'http://git.xxxx.com'

4.配置生效

gitlab-ctl reconfigure

  

Gitlab-ctl 使用

查看状态: 
sudo gitlab-ctl status;

# Start all GitLab components (启动)
sudo gitlab-ctl start

# Stop all GitLab components (中止)
sudo gitlab-ctl stop

# Restart all GitLab components(重启)
sudo gitlab-ctl restart

  

Gitlab 备份

使用Gitlab一键安装包安装Gitlab很是简单, 一样的备份恢复与迁移也很是简单. 使用一条命令便可建立完整的Gitlab备份:

gitlab-rake gitlab:backup:create

使用以上命令会在/var/opt/gitlab/backups目录下建立一个名称相似为1393513186_gitlab_backup.tar的压缩包, 这个

压缩包就是Gitlab整个的完整部分, 其中开头的1393513186是备份建立的日期.

Gitlab 修改备份文件默认目录

你也能够经过修改/etc/gitlab/gitlab.rb来修改默认存放备份文件的目录:

gitlab_rails['backup_path'] = '/mnt/backups'

/mnt/backups修改成你想存放备份的目录便可, 修改完成以后使用gitlab-ctl reconfigure命令重载配置文件便可.

Gitlab 自动备份

也能够经过crontab使用备份命令实现自动备份

加入如下, 实现天天凌晨2点进行一次自动备份:

0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create

 

Gitlab 恢复

一样, Gitlab的从备份恢复也很是简单:

# 中止相关数据链接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
 
# 从1393513186编号备份中恢复
gitlab-rake gitlab:backup:restore BACKUP=1393513186
 
# 启动Gitlab
sudo gitlab-ctl start

  

Gitlab迁移

迁移如同备份与恢复的步骤同样, 只须要将老服务器/var/opt/gitlab/backups目录下的备份文件拷贝到新服务器上的/var/opt/gitlab/backups

便可(若是你没修改过默认备份目录的话). 可是须要注意的是新服务器上的Gitlab的版本必须与建立备份时的Gitlab版本号相同. 好比新服务器安装

的是最新的7.60版本的Gitlab, 那么迁移以前, 最好将老服务器的Gitlab 升级为7.60在进行备份.

 

参考文档:

安装文档请参考:   https://about.gitlab.com/downloads/#centos6

使用文档请参考:   http://doc.gitlab.com/omnibus/

Git灾备方法参考: http://segmentfault.com/a/1190000002439923

                             https://gitlab.com/gitlab-org/omnibus-gitlab/blob/629def0a7a26e7c2326566f0758d4a27857b52a3/README.md#backups

GITLAB下载:     https://about.gitlab.com/downloads/archives/

官方文档参考:   http://doc.gitlab.com/omnibus/

https://docs.gitlab.com/omnibus/settings/configuration.html#storing-git-data-in-an-alternative-directory

https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/

相关文章
相关标签/搜索