1、背景:

操作系统:CentOS Linux release 7.5. (Core)
gitlab版本:9.2.
使用rpm包地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-9.2.5-ce.0.el7.x86_64.rpm
备注:需要保证迁移的两台服务器gitlab版本一致。请先关闭selinux、firewalld防火墙。

2、新服务器下载安装gitlab服务:

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-9.2.5-ce.0.el7.x86_64.rpm

yum localinstall gitlab-ce-9.2.-ce..el7.x86_64.rpm

3、备份原有服务器上文件信息:

、/etc/gitlab/gitlab.rb:该文件配置了gitlab的域名、邮件发送信息、白名单等相关信息。
、/etc/gitlab/gitlab-secrets.json:该文件存储了gitlab的db secret信息。 将原有服务器上的以上两个文件复制到新服务器上对应目录下。

4、备份原有服务器上gitlab数据信息:

使用以下命令进行备份。
/usr/bin/gitlab-rake gitlab:backup:create 默认备份完成的文件存放目录为:/var/opt/gitlab/backups。若该目录下不存在,则需要查看/etc/gitlab/gitlab.rb配置中对应的gitlab_rails['backup_path']选项所指定的目录。

5、将原有服务器上的gitlab配置文件、备份数据scp到新服务器的对应目录下:

#scp gitlab仓库备份数据
scp /NFS/1533614595_2018_08_07_9..5_gitlab_backup.tar #scp gitlab的配置文件
scp /etc/gitlab/gitlab.rb xx.xx.xx.xx:/etc/gitlab/gitlab.rb
scp /etc/gitlab/gitlab-secrets.json xx.xx.xx.xx:/etc/gitlab/gitlab-secrets.json

6、在新服务器安装依赖,同时启动对应服务:

yum install -y curl policycoreutils-python openssh-server postfix
systemctl enable postfix
systemctl start postfix

7、在新服务器重新进行gitlab配置,同时进行数据恢复:

gitlab-ctl reconfigure
gitlab-rake gitlab:backup:restore BACKUP=1533614595_2018_08_07_9.2.5
其中1533614595_2018_08_07_9.2.5对应的为gitlab备份tar包的版本号。 保守起见,先进行gitlab-ctl reconfigure,然后启动服务。
gitlab-ctl start

8、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'] =
gitlab_rails['git_timeout'] =
gitlab_rails['gitlab_shell_git_timeout'] =
gitlab_rails['rack_attack_git_basic_auth'] = {
'enabled' => true,
'ip_whitelist' => ["192.168.8.118"], #设置gitlab白名单列表
'maxretry' => ,
'findtime' => ,
'bantime' =>
}
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_rails['ldap_enabled'] = true #设置gitlab ldap认证 gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
main: # 'main' is the GitLab 'provider ID' of this LDAP server
label: 'LDAP'
host: 'xx.xx.xx.xx' #设置ldap服务器地址
port: xxx #设置ldap服务器端口
uid: 'cn'
method: 'plain' # "tls" or "ssl" or "plain"
bind_dn: 'cn=xxx,dc=xxx,dc=com' #ldap bind dn
password: 'xxx' #ldap bind dn用户对应的密码
active_directory: true
allow_username_or_email_login: true #允许用户名和邮箱登录
block_auto_created_users: false
base: 'dc=xxx,dc=com' #ldap base dn信息,即搜索域
attributes:
username: ['cn', 'uid']
email: ['mail', 'email']
EOS

gitlab迁移的更多相关文章

  1. Gitlab迁移之数据库报错解决

    Gitlab迁移需同版本迁移,恢复过程会出现如下提示: WARNING:  no privileges were granted for "public" 解决方法: 1. 编辑/ ...

  2. 把Gitlab迁移到Docker容器里

    把Gitlab迁移到Docker容器里 Apr 9, 2015. | By: 任怀林 公司的gitlab一直是运行在ovm的虚拟机里的,版本还是6.7.5.版本有点老了,最近在研究docker,于是想 ...

  3. gitlab 迁移、升级打怪之路:8.8.5--> 8.10.8 --> 8.17.8 --> 9.5.9 --> 10.1.4 --> 10.2.5

    gitlab 迁移.升级打怪之路:8.8.5--> 8.10.8 --> 8.17.8 --> 9.5.9 --> 10.1.4 --> 10.2.5 gitlab 数据 ...

  4. 2018-07-09--记录一次gitlab迁移事件及遇到的问题

    一.事情起因 因机房服务器即将到期,需要将即将到期的服务器迁移至云上,迁移之前没有查看老环境的Gitlab是什么版本,直接装的Gitlab社区版,做数据导入时提示版本错误: [root@vpn-ser ...

  5. gitlab迁移升级

    一.迁移步骤 1.首先安装最新版本gitlab(gitlab7.2安装) 2.停止旧版本gitlab服务 3.将旧的项目文件完整导入新的gitlab bundle exec rake gitlab:i ...

  6. docker gitlab迁移 备份 部署 搭建以及各种问题

    当前环境 服务器A 服务器B ubuntu docker gitlab(版本一致) docker安装gitlab 由于考虑到gitlab 包含了⾃身的nginx.数据库.端⼝占⽤等等因数,这⾥使⽤的是 ...

  7. GitLab 迁移与升级

    参考: [ 博客园 BigBao ] 环境说明: OS: CentOS 7.x gitlab-ce 初始版本: 8.8.5 gitlab-ce 升级到版本: 11.2.3 升级方式: rpm 安装升级 ...

  8. gitlab迁移库地址后远程的切换

    本地需要把origin删除,然后再添加新的origin git remote rm origingit remote add origin [url] git push --set-upstream ...

  9. gitlab 迁移

    http://www.cnblogs.com/crysmile/p/9505527.html

随机推荐

  1. centos6.4安装 zabbix agent

    1.防火墙设置 允许zabbix-agent的10050端口通过  iptables -A INPUT -p tcp --dport 10050 -j ACCEPT  2.安装zabbix agent ...

  2. mysql show profiles 使用分析sql 性能

    Show profiles是5.0.37之后添加的,要想使用此功能,要确保版本在5.0.37之后. 查看一下我的数据库版本 MySQL> Select  version(); +-------- ...

  3. sql的一个查询,情景:a表中存在的数据,且在b表中不存在 (not in,not exists

    这里需要强调的是b表中关联字段的值是唯一的这种情况,并且b表尽量是列举类型的,意味着表比较小. ==================== 准备数据: 1. 建两个类似表,test1,test2,只有i ...

  4. SQL Server聚合函数与聚合开窗函数

    以下面这个表的数据作为示例. 什么是聚合函数? 聚合函数:聚合函数就是对一组值进行计算后返回单个值(即分组).聚合函数在计算时都会忽略空值(null). 所有的聚合函数均为确定性函数.即任何时候使用一 ...

  5. html元素的分类以及特点

    解释几个概念: 替换元素:官方解释是,一个内容不受css视觉格式化模型控制,css渲染模型并不考虑对此内容的渲染,且元素一般拥有固定的尺寸,(高度,宽度)的元素,被称为置换元素.通俗来说就是浏览器根据 ...

  6. 2017-2018-2 20155224『网络对抗技术』Exp6:信息搜集与漏洞扫描

    实践内容 各种搜索技巧的应用 DNS IP注册信息的查询 基本的扫描技术:主机发现.端口扫描.OS及服务版本探测.具体服务的查点 漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞 基本问题回答 哪些 ...

  7. 云计算背后的秘密:NoSQL诞生的原因和优缺点

    转载收藏一篇对nosql讲解的比较全面的文章:http://blog.csdn.net/xlgen157387/article/details/47908797 这篇文章将和大家聊聊为什么NoSQL会 ...

  8. TLV5620参考电压的问题

    1. TLV5620参考电压的,上面红线的VID的意思应该是引脚(REFA-REFD)输入的电压值(3.3V),下面的应该是实际参考值,根据实际测试VID=3.3V的时候,Vref=2.2V,至于为什 ...

  9. JQuery快速入门-Ajax

    一.AJAX概述 概念:AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). 优点:通过在后台与服务器进行少量数据交换,AJAX ...

  10. python + selenium webdriver 自动化测试 之 环境异常处理 (持续更新)

    1.webdriver版本与浏览器版本不匹配,在执行的时候会抛出如下错误提示 selenium.common.exceptions.WebDriverException: Message: unkno ...