zoukankan      html  css  js  c++  java
  • centos7下 gitlab 数据迁移

    背景
    最开始gitlab是部署在公司内网的机器上,现在需要将gitlab迁移至阿里云上。以下是迁移的详细步骤。

    准备工作
    首先需要做的准备有这些。原系统为CentOS 7.4。

    安装相同版本的gitlab
    查看gitlab版本
    cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

    根据系统以及gitlab版本去清华大学镜像站_gitlab-ce下载特定版本的gitlab的RPM或者DEB包。
    # CentOS 6
    https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6
    https://mirrors.tuna.tsinghua.edu.cn/gitlab-ee/yum/el6
    # CentOS 7
    https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
    https://mirrors.tuna.tsinghua.edu.cn/gitlab-ee/yum/el7
    # Debian 9
    https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/debian/pool/stretch/main/g/gitlab-ce/
    https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/debian/pool/stretch/main/g/gitlab-ee/

    安装gitlab
    # 下载rpm包
    wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.0.5-ce.0.el7.x86_64.rpm
    # 安装rpm包(在下载的rpm包目录下)
    yum install -y gitlab-ce-13.0.5-ce.0.el7.x86_64.rpm

    备份
    备份数据(用户信息、项目信息、代码)
    利用gitlab自带的命令gitlab-rake进行数据备份,备份位于/etc/gitlab/gitlab.rb中gitlab_rails['backup_path']选项对应的目录,备份目录默认位于/var/opt/gitlab/backups

    # 备份命令
    gitlab-rake gitlab:backup:create
    # 查看备份目录
    cat /etc/gitlab/gitlab.rb|grep gitlab_rails|grep backup_path

    备份原服务器上的配置信息
    保存gitlab的域名、邮件发送信息、白名单等相关信息的配置文件 /etc/gitlab/gitlab.rb

    存储了gitlab的db secret信息的配置文件 /etc/gitlab/gitlab-secrets.json

    打包备份数据和配置文件
    cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab-secrets.json /var/opt/gitlab/backups
    cd /var/opt/gitlab/backups
    tar zcvf gitlab_all_backup.tar.gz ./*

    还原gitlab配置和数据

    将打包的备份文件上传至新服务器
    scp gitlab_all_backup.tar.gz root@newHost:/tmp/
    # 登录新服务器
    ssh root@newHost
    cd /tmp
    tar zxvf gitlab_all_backup.tar.gz

    还原配置文件
    将配置文件移到/etc/gitlab下

    cd /tmp
    # 反斜线是忽略系统的alias,不会有覆盖文件提醒,慎重使用
    mv gitlab.rb gitlab-secrets.json /etc/gitlab/
    # 重载gitlab配置
    gitlab-ctl reconfigure

    还原数据
    将之前备份的数据文件移到/var/opt/gitlab/backups下,然后恢复数据
    cd /tmp
    # 注意前面一串数字为时间戳,将你备份的文件移进去
    mv 1552743127_2019_03_16_10.5.1_gitlab_backup.tar /var/opt/gitlab/backups
    # 恢复数据,注意BACKUP=后面只要 _gitlab_backup.tar 前面的版本号,如下
    gitlab-rake gitlab:backup:restore BACKUP=1552743127_2019_03_16_10.5.1
    # 重载gitlab配置
    gitlab-ctl reconfigure

    配置文件/etc/gitlab/gitlab.rb简介

    external_url 'http://gitlab.xxx.com' #gitlab域名
    gitlab_rails['gitlab_email_enabled'] = true #gitlab启用email通知
    gitlab_rails['gitlab_email_from'] = 'xxx-gitlab@xxx.com' #gitlab email来源
    gitlab_rails['gitlab_email_display_name'] = 'gitlab-servce' #email展示名称
    gitlab_rails['gitlab_email_reply_to'] = 'xxx-gitlab@xxx.com' #gitlab返回邮箱地址
    gitlab_rails['gitlab_email_subject_suffix'] = ''
    gitlab_rails['manage_backup_path'] = true #启用backup路径配置
    gitlab_rails['backup_path'] = "/NFS" #设置gitlab备份路径
    gitlab_rails['gitlab_shell_ssh_port'] = xxxx #设置gitlab ssh端口
    gitlab_rails['git_max_size'] = 20971520
    gitlab_rails['git_timeout'] = 10
    gitlab_rails['gitlab_shell_git_timeout'] = 800
    gitlab_rails['rack_attack_git_basic_auth'] = {
    'enabled' => true,
    'ip_whitelist' => ["192.168.8.118"], #设置gitlab白名单列表
    'maxretry' => 300,
    'findtime' => 5,
    'bantime' => 60
    }
    gitlab_rails['initial_root_password'] = "xxxxxxx" #gitlab初始化root密码
    gitlab_rails['smtp_enable'] = true #设置gitlab 发送邮件smtp服务器信息
    gitlab_rails['smtp_address'] = "smtp.xxx.xxx.com" #设置smtp服务器地址
    gitlab_rails['smtp_port'] = xxx #设置smtp服务器端口
    gitlab_rails['smtp_user_name'] = "xxx-gitlab@xxx.com" #设置smtp用户名
    gitlab_rails['smtp_password'] = "xxxxxx" #设置smtp密码
    gitlab_rails['smtp_domain'] = "smtp.xxx.com" #设置smtp域名
    gitlab_rails['smtp_authentication'] = "login"
    gitlab_rails['smtp_enable_starttls_auto'] = true
    gitlab_rails['smtp_tls'] = true
    gitlab_rails['gitlab_email_from'] = 'xxx-gitlab@xxx.com'
    git_data_dir "/data/gitlab-data" #设置gitlab数据目录

    gitlab修改仓库存储位置


    gitlab默认仓库存储位置为:/var/opt/gitlab/git-data/repositories 需要将其改为: /git/git-data 目录下
    分为两步: 一修改配置文件默认存储目录 二 迁移之前的仓库文件

    第一步:修改配置文件默认存储目录

    使用su 切换为root用户

    cd /etc/gitlab
    vim gitlab.rb

    打开dir_data_dir注释 将pyth后的值修改为/git/git-data

    停止当前git活动 重新加载
    gitlab-ctl stop
    gitlab-ctl reconfigure
    gitlab-ctl start

    第二步 迁移之前的仓库文件

    切换root用户 su

    cp /var/opt/gitlab/git-data/repositories /git/git-data

    删除原来的目录文件

    cd /var/opt/gitlab/git-data/
    rm -rf repositories

    重新加载配置
    gitlab-ctl reconfigure
    gitlab-ctl start

    .╭⌒╮ ─ ● ─ ╭ ⌒╮╭⌒╮. / │ \ .╭⌒╮ .╭ ⌒╮. ╭ ⌒╮. ╭ ⌒╮. ╭ ⌒╮ ╭⌒╮ ╭⌒╮ =====●=============== 希望你别迷路了, 希望你交到好朋友, 希望你别再被人欺负, 希望你幸福, 希望你一个人, 也能够坚强。
  • 相关阅读:
    向Url发送post请求传递参数
    表格列转行
    C#匹配HTML中的图片地址
    C# 正则表达式(备忘录)
    将天文数字转换成中文大写
    搜索引擎优化排名因素小结
    WPF概述
    将中文汉字转换成拼音(全拼)
    提取网页中的链接并生成xml
    快速排序算法的实现
  • 原文地址:https://www.cnblogs.com/weiwozui/p/13690968.html
Copyright © 2011-2022 走看看