美文网首页
在远程服务器搭建gitlab,并将数据单独存储到磁盘

在远程服务器搭建gitlab,并将数据单独存储到磁盘

作者: Allenkevin | 来源:发表于2018-08-30 10:33 被阅读584次

虽然github目前是全球最火的分布式代码托管平台,但是github有一个缺点就是,project如果想要建为private,那就得付费。还有data存储在github平台,而不是自己的本地服务器。相比之下gitlab有两点好处,一是project想要public还是private不受平台限制,二是可以在团队内部搭建,自然数据也是存储在本地服务器。好了,废话不多说,进入正题吧!

一、在远程服务器搭建gitlab

说明一下,本人的服务器系统是centos 7,在其他系统上不知道本博客所说的方法是否可行。还有时间充足的话建议直接看官网文档安装更靠谱,在官网文档中给出了很详细的gitlab配置说明。这里是gitlab中文官网链接。

1、安装gitlab

安装并配置必要的依赖关系

其实这个安装依赖是官网给出的安装步骤,有的人安装时没有安装这些依赖也没报错,不过最好还是按照官网的来吧。

sudo yum install -y curl policycoreutis-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
sudo firewallctl-cmd --permanent --add-service=http
sudo systemctl reload firewalld

sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
使用 GitLab 提供仓库在线安装

说明一下,官网提供的是gitlab-ee版本(企业版)的在线安装,本博客这里提供的是gitlab-ce版本(社区版)的在线安装,社区版是免费的。

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
yum install gitlab-ce

通过上面的方式访问的是国外的gitlab仓库站点,如果速度慢的话,就是用下面国内的站点,都一样。

curl -sS http://packages.gitlab.cc/install/gitlab-ce/script.rpm.sh | sudo bash
yum install gitlab-ce

2、启动gitlab

在安装完gitlab后,启动之前,先做一个基本配置,如果安装成功的话,在/etc/gitlab/目录下会有一个gitlab.rb文件,使用vim打开它。

vim /etc/gitlab/gitlab.rb

将external_url 'http://ip_address'这一行中的ip_address字符串替换成你自己的ip地址,随便给它换成一个你喜欢的ip地址名就行。然后重新编译配置。

gitlab-ctl reconfigure

至于其他配置,比如邮箱啊,端口啊(gitlab默认使用80端口),开启的进程数,访问超时时间之类的配置请参看官方文案,这里就不做详细介绍了,其实本人也还没来得及看这些官方文案。

3、安装过程中可能会遇到的bug

下面说一说在安装、编译时可能会遇到的bug。
编译时卡在ruby block[supervice_redis_sleep] action run不动,本人就遇到了这个问题,下面是一个截图:


解决办法:
sudo systemctl restart gitlab-runsvdir
gitlab-ctl reconfigure

二、将gitlab托管的code单独存储到移动硬盘

gitlab搭建成功后,在远程服务器目录/var/opt/gitlab/git-data/下会自动生成一个仓库repositories来存放你将来push到该服务器上的数据。如果你想单独将push到gitlab的数据保存到一块移动硬盘上怎么办?
首先你要将硬盘格式化(分不分区看个人),然后挂载到一个你指定的目录下,最后修改gitlab的配置文件,指定存储目录就可以了。
具体操作如下:

1、查看服务器的硬盘

使用命令fdisk -l查看服务器上有几块硬盘,可以看到我的有4块硬盘(sda, sdb, sdc, sdd),2个1T的和2个4T的硬盘。


2、格式化硬盘

首先查看一下服务器上采用的文件格式,使用命令blkid查看一下所有硬盘的格式



可以看到应该应该将硬盘格式化为ext4格式

mkfs.ext4 /dev/sdb

3、挂载硬盘和卸载硬盘

新建目录/mnt/gitlab/git-data,将移动硬盘sdb挂载到目录/mnt/gitlab/git-data下

mount /dev/sdb /mnt/gitlab/git-data

卸载硬盘的操作为

umount /dev/sdb

挂载完后再使用df -h查看一下,下图是本人挂载后的截图,可以看到sdb已经挂载到/mnt/gitlab/git-data下了


4、开机自动挂载硬盘

上面的挂载操作有一个问题,就是每次机器重启后,都要重新手动挂载一次,这谁受得了,所以得给它配置为开机自动挂载。首先使用命令klbid查看所用硬盘的UUID,然后修改文件/etc/fstab,在上面使用blkid操作中可以获取sdb的UUID。

vim /etc/fstab

5、修改gitlab配置,指定数据存储目录

使用vim打开文件/etc/gitlab/gitlab.rb,搜索git_data_dirs,添加一行字符串来指定目录



然后在重新配置gitlab和重启

gitlab-ctl reconfigure
gitlab-ctl restart

如果配置成功的话,这时应该可以在/mnt/gitlab/git-data/目录下看到repositories目录。

相关文章

网友评论

      本文标题:在远程服务器搭建gitlab,并将数据单独存储到磁盘

      本文链接:https://www.haomeiwen.com/subject/rjyfwftx.html