独家新闻日记

一亩等于多少平方米,香槟,itunes官方下载-尼采书香

01 前语

本文Gitlab的装置为主机方法, 获取其他装置方法请点击 https://git.lug.ustc.edu.cn/h...

02 架构

架构概述:

  • Unicorn: Handles requests for the web interface and API, 一般gitlab站点,大都是因为这个服务有问题导致的
  • Sidekiq: Background jobs processor
  • Redis: Caching service
  • PostgreSQL: Database

03 装置

1. 设置repo

[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
EOF

2. 装置GitLab

$ yum makecache
$ yum install gitlab-ce

3. 修正装备

装备文件/etc/gitlab/gitlab.rb注: 你可依据注释修正装备文件,一般修正如下

external_url ' http://gitlab.xxxxxx.com ' #改域名,修正成你自己的域名,假如你用的https,改成 https://gitlab.xxxxxx.com

4. 发动服务

$ gitlab-ctl reconfigure ## 使装备收效
$ gitlab-ctl status ## 承认服务状况

04 怎么备份

1. 设置备份目录

先翻开/etc/gitlab/gitlab.rb装备文件,检查一个和备份相关的装备项:

gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"

该项界说了默许备份出文件的途径,能够经过修正该装备,并履行 gitlab-ctl reconfigure 或许 gitlab-ctl restart 重启服务收效。

2. 履行备份

备份履行一条指令就搞定:/opt/gitlab/bin/gitlab-rake gitlab:backup:create ,也能够加到crontab中守时履行:

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

能够到 /var/opt/gitlab/backups找到备份包,解压检查,会发现备份的仍是比较全面的,数据库、repositories、build、upload等分类仍是比较明晰的。

3. 备份参数注释

每天履行备份,必定有目录被爆满的危险,咱们能够立马想到的能够经过find 查找必定的时刻前的文件,合作rm进行删去。不过不需求这么费事,gitlab-ce本身集成的有主动删去装备。

相同翻开/etc/gitlab/gitlab.rb装备文件,能够找到如下装备:

gitlab_rails['backup_keep_time'] = 604800这儿是设置备份保存7天(7360024=604800),秒为单位,假如想增大或减小,能够直接在该处装备,并经过gitlab-ctl restart 重启服务收效。

05 GitLab搬迁或数据康复

1. 康复前需求先停掉数据衔接服务:

gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

假如是台空主机,没有任何操作,理论上不断这两个服务也能够。停这两个服务是为了确保数据一致性。

2. 搬迁数据

假如你没修正过默许备份目录的话,将老服务器/var/opt/gitlab/backups目录下的备份文件拷贝到新服务器上的/var/opt/gitlab/backups

[root@localhost gitlab]# scp 1530773117_2018_07_05_gitlab_backup.tar 10.0.3.111:/var/opt/gitlab/backups/

## 600权限是无权康复的。--- 这儿改成了777
[root@localhost backups]# pwd
/var/opt/gitlab/backups
[root@localhost backups]# chmod 777 1530773117_2018_07_05_gitlab_backup.tar
[root@localhost backups]# ll
total 17328900
-rwxrwxrwx 1 git git 17744793600 Jul 5 14:47 1530773117_2018_07_05_gitlab_backup.tar

3. 履行数据康复

履行下面的指令进行康复:后边再输入两次yes就完结康复了。

gitlab-rake gitlab:backup:restore BACKUP=1530773117_2018_07_05_gitlab_backup.tar

PS:依据版别不同康复时或许有点小差异

06 附录1 常用指令

# 默许的log主目录为 /var/log/gitlab/
# 检查redis的日志
sudo gitlab-ctl tail redis
# 检查postgresql的日志
sudo gitlab-ctl tail postgresql
# 检查gitlab-workhorse的日志
sudo gitlab-ctl tail gitlab-workhorse
# 检查logrotate的日志
sudo gitlab-ctl tail logrotate
# 检查nginx的日志
sudo gitlab-ctl tail nginx
# 检查sidekiq的日志
sudo gitlab-ctl tail sidekiq
# 检查unicorn的日志
sudo gitlab-ctl tail unicorn
sudo gitlab-ctl status //检查所依靠的服务是否运转
sudo gitlab-ctl tail //检查gitlab所依靠的服务是否在运转时犯错
sudo gitlab-rake gitlab:check //检查的装备是否正确,假如有过错,请依据提示处理它

07 FAQ

过错1

error: proxyRoundTripper: GET "/" failed with: "dial unix /var/opt/gitlab/gitlab-rails/sockets/gitlab.socket: connect: no such file or directory"

原因:unicorn 没有正常发动

处理:检查unicorn的日志, /var/log/gitlab/unicorn/*.log, 一般为端口抵触或是权限问题。依靠相应的日志,期望你能够很好的处理,enjoy it.

推荐新闻