Gitlab维护记录

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

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

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

突然之间Down掉,为了保险起见,建议所有重要的业务一定要有备份。当然,仅仅有备份还是不够的,

为什么呢?因为你还要做恢复演练测试,假如你的备份数据恢复不了,你备份有个毛用,和没备份是没有

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

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

Gitlab搭建

gitlab的搭建目前非常简单了,查看官网就可以搭建,主要是一个rpm包,你装上了就全部就好了,

现在不需要像以前一样一个个的编译了,如果你有兴趣也可以这么做,当然我是不建议的。

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

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/

时间: 2024-10-06 15:54:14

Gitlab维护记录的相关文章

lnode满,维护记录

df  17% 正常 df -i 100% inode耗尽. find */ ! -type l | cut -d / -f 1 | uniq -c 查出占用lnode最大的目录是 /var/spool/exim4/input 居然有15W多个小文件 exim4是邮件服务器. 奇怪,这服务器根本就没有作邮件服务. 如果不是出现这次的异常,我根本不知道服务器有装exim4. 删光后,文件又一点点冒出来了. 打开其中一看.立马闻到了“坏味道”. 捉到狐狸尾巴了. 1a5aTr-0006zH-5Z-D

GitLab使用记录

GitLab修改root用户密码GitLab是一个私有的Git仓库,具有较好的项目管理和用户管理能力. 对于普通用户而言,通过系统的重置密码,接受邮件即可解决,可是GitLab的管理员账号,缺省的邮箱是一个不存在的邮箱地址,所以没有办法通过邮箱来复位. 通过在服务器上,可以修改用户的密码: 官方修改密码:(http://docs.gitlab.com/ce/security/reset_root_password.html) 不过,笔者通过该方法是,发现,不能使用引号来包括密码. 具体方法如下:

阿里云 django的一次web维护记录

首先, 丢给我一个阿里云的服务器的账号/密码,之前没有玩过阿里云,想想应该也是ssh服务来远程登陆. 环境: centos+nginx+uwsgi+python2.7+django. 1. 首先看了下nginx和uwsgi的配置文件, 弄懂大概关系. 怎么使用可以参考django doc: 点击打开链接 . 而我主要参考帖子:点击打开链接,来确定问题的所在. 访问的流程大概是: the web client <-> the web server <-> the socket <

客户服务器+数据存储维护记录

服务器:HP DL380 G7 16GB 4300GB P410i阵列卡 单电源使用:存储柜:HP MSA2012 3.5"SAS存储柜 4300GB 3.5"硬盘,做的RAID5数据双机软件:ROSE HA V8.8 故障原因:1.用户在2017年的时候因为需要急需上OA系统,没有购买新的服务器,就讲双机中的服务器的一台服务器直接拆开,将双机变成单机+存储柜的方法进行使用,将拆换下来的服务器安装成了WINDOW 2012 R2服务器,作为OA服务器进行使用了.2.而剩余的那台服务器和

Gitlab - 搭建属于自己的gitlab

一:前言 前两天在弄钉钉接口的机器人,发现了有github机器人,而且配置超级简单,只需要定义一个入口,当你提交后,后台会自动发送 request.payload,调用git机器人发送钉钉消息. 然后就想着自己搭建一个gitlab能否实现此功能,于是就说做就做: 将自己实际搭建过程和大家分享一下.(来自官网) 官网 https://about.gitlab.com/downloads/ 二:"git" 家族的成员 首先解决一个容易混淆的问题,我也经常搞混: git 是一种版本控制系统,

【整理】软件工程复习提纲(维护)

章鱼小年糕整理,如果有错误欢迎提出,若要二次修改发布,请留言,谢谢^_^! 概念 软件维护:软件在已经交付使用之后,为了改正错误或满足新的需求修改软件的过程. 文档:有关计算机程序功能.设计.编制.使用的文字或图形资料.分为用户文档和系统文档.是影响软件可维护性的决定因素. 用户文档:描述系统功能和使用方法.(安装手册.操作指南.参考手册.使用手册) 系统文档:描述系统设计.实现和测试等方面的内容.(问题定义.可行性研究报告(工可报告).需求规格说明书.总体设计说明书.详细设计说明书.测试验收计

Docker下搭建gitlab

一.GitLab简介 GitLab 是一个用于仓库管理系统的开源项目.使用Git作为代码管理工具,并在此基础上搭建起来的web服务.Github是公共的git仓库,而Gitlab适合于搭建企业内部私有git仓库 官网: https://about.gitlab.com/ https://github.com/gitlabhq/gitlabhq 截止本文创建时间,GitLab最新版本为v7.4.3 二.组件 7.4.3之前版本,镜像里包含所有组件,7.4.3版本镜像里只包含核心组件:nginx.s

vsftpd日志配置及查看——可以将vsftpd记录在系统日志里

vsftpd日志配置及查看 vsftpd ftp服务器的日志设置,可以通过修改主配置文件/etc/vsftpd.conf实现.主配置文件中与日志设置有关的选项包括xferlog_enable .xferlog_file 和dual_log_enable 等. xferlog_enable 如果启用该选项,系统将会维护记录服务器上传和下载情况的日志文件.默认情况下,该日志文件为 /var/log/vsftpd.log.但也可以通过配置文件中的 vsftpd_log_file 选项来指定其他文件.默

Centos7 安装 GitLab 代码管理服务器

一.安装依赖 yum -y install policycoreutils openssh-server openssh-clients postfix 二.启动postfix,并设置开机自启动 systemctl enable postfix && systemctl start postfix 三.下载gitlab并安装 # 安装wget yum -y install wget # 安装vim yum install vim -y # 下载安装包 wget https://mirror