GitLab安装,导入,备份

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GitLab安装,导入,备份相关的知识,希望对你有一定的参考价值。

GitLab的安****装

2.1.在CentOS系统上,下面的命令将会打开系统防火墙HTTP和SSH访问。

yum install curl policycoreutils openssh-server openssh-clients
systemctl enable sshd
systemctl start sshd
yum install postfix
systemctl enable postfix
systemctl start postfix
firewall-cmd --permanent --add-service=http
systemctl reload firewalld

2.添加GitLab镜像源并安装

这是官方的yum源,安装速度会比较慢,可以使用国内源,修改如下文件即可:

vim /etc/yum.repos.d/gitlab_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 makecache
yum install gitlab-ee
yum install gitlab-ee-10.6.3 #制定安装版本

yum remove -y gitlab-ee #移除gitlab-ce
#配置并启动 GitLab
gitlab-ctl reconfigure
安装成功会有如下提示:
3.第一次访问GitLab
系统会重定向页面到重定向到重置密码页面,你需要输入初始化管理员账号的密码,管理员的用户名为root,初始密码为5iveL!fe。重置密码后,新密码即为刚输入的密码。

4.GitLab的汉化

成功安装GitLab后,很多朋友会想到汉化,当然如果团队里英文水平都不错的话,是没必要汉化的。

GitLab中文社区的项目,v7-v8.8是由Larry Li发起的“GitLab中文社区版项目”(https://gitlab.com/larryli/gitlab),从v8.9之后由@xhang开始继续汉化项目(https://gitlab.com/xhang/gitlab)。

首先确认当前安装版本
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
10.6.3

mkdir -p /root/test
cd /root/test /gitlab
如没安装git,需提前安装:
yum install -y git

下载最新的汉化包:
git clone https://gitlab.com/xhang/gitlab.git
如果是要下载老版本的汉化包,需要加上老版本的分支,如果想下载10.8.4,可以运行如下语句:

git clone https://gitlab.com/xhang/gitlab.git -b v10.8.4-zh
停止GitLab并执行如下语句:

gitlab-ctl stop

cd gitlab/
git fetch
git diff v10.6.3 v10.6.3-zh > ../10.6.3-zh.diff
cd ..
patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < 10.6.3-zh.diff
一路回车
gitlab-ctl reconfigure
gitlab-ctl restart

5、gitlab报502 Whoops, GitLab is taking too much time to respond

解决方法1
gitlab-ctl restart sidekiq
gitlab-ctl hup unicorn
gitlab-ctl status
尝试用上面两个命令解决,发现没有用。
这时我怒了,不断的输入gitlab-ctl status,发现unicorn的pid一直在变大。而其他几个服务的pid没有变化。
3.这时差不多找到了问题的所在了,应该就是unicorn的问题。然后看官方教程,可以使用gitlab-ctl tail unicorn 来跟踪unicorn的状态,这时候悲催的发现原来时8080端口被占用了
E, [2015-02-11T17:27:57.818492 #26687] ERROR -- : adding listener failed addr=127.0.0.1:8080 (in use)
E, [2015-02-11T17:27:57.818621 #26687] ERROR -- : retrying in 0.5 seconds (4 tries left)
E, [2015-02-11T17:27:58.318902 #26687] ERROR -- : adding listener failed addr=127.0.0.1:8080 (in use)

解决方法2
如下:
这个说明使用的端口被占用了
1、修改gitlab 仓库地址,因为默认是localhost

cd /opt/gitlab/embedded/service/gitlab-rails/config
vim gitlab.yml

Web server settings (note: host is the FQDN, do not include http://)

host: 172.16.101.191
port: 80
https: false

2、修改gitlab端口
cd /etc/gitlab/
vim gitlab.rd

Advanced settings

unicorn[‘listen‘] = ‘127.0.0.1‘

unicorn[‘port‘] = 8010
nginx[‘listen_port‘] = 8011

3、修改gitlab-http.conf
cd /var/opt/gitlab/nginx/conf
vim gitlab-http.conf
修改:
listen *:8011;
4、gitlab-rails修改cd /var/opt/gitlab/gitlab-rails/etc
vim unicorn.rb
修改:
listen "127.0.0.1:8010", :tcp_nopush => true
5、config.yml
修改cd /var/opt/gitlab/gitlab-shell
vim config.yml
gitlab_url: http://127.0.0.1:8011
6、gitlab-ctl restart

重启下,然后用172.16.101.191:8011 访问

6.Gitlab的从备份恢复也非常简单:
注意版本一定要一致。

停止相关数据连接服务

gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

例如我使用如下命令,从远程服务器copy刚才的备份文件到了新服务器的/var/opt/gitlab/backups/ 目录下

从1481598919编号备份中恢复

[[email protected] backups]# mv 1528783710_2018_06_12_10.6.3-ee_gitlab_backup.tar 1528783710_gitlab_backup.tar
[[email protected] backups]# gitlab-ctl stop unicorn
ok: down: unicorn: 1s, normally up
[[email protected] backups]# gitlab-ctl stop sidekiq
ok: down: sidekiq: 0s, normally up
[[email protected] backups]# gitlab-rake gitlab:backup:restore BACKUP=1528783710
输入几个yes

启动Gitlab

sudo gitlab-ctl start
如果报502错误
gitlab-ctl restart sidekiq
gitlab-ctl hup unicorn

7、Gitlab备份
1、创建备份

首先我们得把老服务器上的Gitlab整体备份,使用Gitlab一键安装包安装Gitlab非常简单, 同样的备份恢复与迁移也非常简单. 使用一条命令即可创建完整的Gitlab备份。

gitlab-rake gitlab:backup:create
1
使用以上命令会在/var/opt/gitlab/backups目录下创建一个名称类似为1502357536_2017_08_10_9.4.3_gitlab_backup.tar的压缩包, 这个压缩包就是Gitlab整个的完整部分, 其中开头的1502357536_2017_08_10_9.4.3是备份创建的日期

/etc/gitlab/gitlab.rb 配置文件须备份
/var/opt/gitlab/nginx/conf nginx配置文件
/etc/postfix/main.cfpostfix 邮件配置备份

生成完后,/var/opt/gitlab/backups目录创建一个名称类似为1502357536_2017_08_10_9.4.3_gitlab_backup.tar的压缩包

2、更改Gitlab备份目录

当然你也可以通过/etc/gitlab/gitlab.rb配置文件来修改默认存放备份文件的目录

gitlab_rails[‘backup_path‘] = "/var/opt/gitlab/backups"
1
/var/opt/gitlab/backups修改为你想存放备份的目录即可,例如下面代码将备份路径修改为/mnt/backups

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

修改完成之后使用下面命令重载配置文件即可.

gitlab-ctl reconfigure

自动备份

方法1、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。

#输入命令crontab -e
sudo crontab -e
#输入相应的任务
0 2 * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
7、重置root密码
https://docs.gitlab.com/ce/security/reset_root_password.html

以上是关于GitLab安装,导入,备份的主要内容,如果未能解决你的问题,请参考以下文章

Gitlab安装备份与恢复

gitlab 安装备份与还原

使用Gitlab一键安装包后的日常备份恢复与迁移

使用Gitlab一键安装包后的日常备份恢复与迁移

使用Gitlab一键安装包后的日常备份恢复与迁移

一键安装Gitlab后的备份迁移与恢复