[Linux]Gitlab的安装和配置

1. 环境

CentOS:7.2

IP:172.16.17.138

2. 官网上的默认安装方式是安装最新版本的

官网安装流程

3. gitlab安装流程

3.1 下载安装包

所有历史版本下载地址

3.2 执行RPM安装

1
EXTERNAL_URL="http://172.16.17.138:8888" rpm -i gitlab.rpm

其中http://172.16.17.138:8888改成自己对应访问的ip/域名和端口

3.3 默认配置文件和路径

  • /etc/gitlab/gitlab.rc:为gitlab的主要配置文件
  • /var/opt/gitlab/nginx/:gitlab中nginx对应的配置文件夹
  • /var/opt/gitlab/git-data/:默认的代码仓库位置
  • /var/opt/gitlab/backups/:默认的备份文件位置

3.4 一般的配置说明

  • gitlab访问路径

    1
    external_url 'http://172.16.17.138:8888'
  • 单IP最大访问量

    1
    2
    3
    4
    5
    6
    7
    gitlab_rails['rack_attack_git_basic_auth'] = {
    'enabled' => true, # 是否启动防攻击配置
    'ip_whitelist' => ["127.0.0.1"], # 白名单
    'maxretry' => 10000, # 单个IP最大访问量
    'findtime' => 60,
    'bantime' => 3600
    }
  • 代码仓库自定义

    1
    2
    3
    4
    5
    git_data_dirs({
    "default" => {
    "path" => "/mnt/data1/gitlab/git-data"
    }
    })
  • 备份路径自定义

    1
    2
    gitlab_rails['manage_backup_path'] = true
    gitlab_rails['backup_path'] = "/mnt/data1/gitlab/backups"
  • 备份文件保存失效,单位为秒。由于 72460*60 = 604800,所以当前为7天

    1
    gitlab_rails['backup_keep_time'] = 604800

3.5 日常备份

计划每日凌晨3点自动进行备份,备份路径为/mnt/data1/gitlab/backups,并把执行过程的信息日志保存下来。备份通过命令gitlab-rake gitlab:backup:create执行,每日循环通过命令crontab执行。

编写备份脚本gitlab_backup.sh,放在/mnt/data1/gitlab/backups/中:

1
2
3
4
5
time=$(date "+%Y%m%d%H%M%S")

path="/mnt/data1/gitlab/backups/"

gitlab-rake gitlab:backup:create > ${path}${time}_gitlab_backup.log

通过crontab -e添加循环任务到系统中,执行service crond restart重启crontab即可。

结果如图:
备份执行一次结果

(•̀ᴗ•́)و ̑̑

Share