准备:

下载版本地址:

https://packages.gitlab.com/gitlab/gitlab-ce

迁移环境:

源码安装的gitlab9.0.13

目标迁移至9.0.13 RPM安装的环境

###################源码安装gitlab9.0.13############参考官方文档

https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/update/

###################RPM安装gitlab9.0.13#######################

https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/

OS :rhel7.4

关闭防火墙: setenforce 0

修改主机名: vim /etc/hostname  /etc/sysconfig/network   /etc/hosts

安装依赖包:

yum install curlopenssh-server openssh-clients postfix -y

安装glibc新版:

rpm -ivh gitlab-ce-9.x.x-ce.0.el7.x86_64.rpm

编辑文件

vim /etc/gitlab/gitlab.rb

修改如下:

external_url 'http://10.2.177.57:8090'

重置配置

gitlab-ctl reconfigure

gitlab-ctl restart

#################################备份还原#####################

一,备份

cd /home/git/gitlab

sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production

cd tmp/backups/

scp XXXX  root@IP:/var/opt/gitlab/backups/

二,RPM服务器停止服务

gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

cd /var/opt/gitlab/backups/

gitlab-rake gitlab:backup:restore BACKUP=1542476495_2018_11_18

=======》报错    =====》解决: ln -s /usr/local/mysql/bin/mysql  /usr/bin/mysql

Errno::ENOENT: No such file or directory - mysql
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/database.rb:58:in `spawn'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/database.rb:58:in `restore'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:102:in `block (4 levels) in <top (required)>'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:53:in `block (3 levels) in <top (required)>'
/opt/gitlab/embedded/bin/bundle:22:in `load'
/opt/gitlab/embedded/bin/bundle:22:in `<main>'
Tasks: TOP => gitlab:backup:db:restore
(See full trace by running task with --trace)

仓库要单独打包还原到/var/opt/gitlab/git-data/repositories

三,启动服务

gitlab-ctl start

四,额外配置

假设源码使用的MySQL数据库

修改RPM默认的数据库

1)登陆MySQL&配置

CREATE USER 'git'@'localhost' IDENTIFIED BY '123456';

SET GLOBAL innodb_file_per_table=1, innodb_file_format=Barracuda, innodb_large_prefix=1;

CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_general_ci`;

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, CREATE TEMPORARY TABLES, DROP, INDEX, ALTER, LOCK TABLES, REFERENCES ON `gitlabhq_production`.* TO 'git'@'localhost';

flush privileges;

2)修改gitlab配置文件

vim /etc/gitlab/gitlab.rb

gitlab_rails['db_adapter'] = "mysql2"
gitlab_rails['db_encoding'] = "utf8"
gitlab_rails['db_database'] = "gitlabhq_production"
gitlab_rails['db_username'] = "git"
gitlab_rails['db_password'] = "123456"
gitlab_rails['db_host'] = "127.0.0.1"
gitlab_rails['db_port'] = 3306
postgresql['enable'] = false

3)消除postgresql依赖

vim /opt/gitlab/embedded/service/gitlab-rails/.bundle/config

修改内容为:

BUNDLE_WITHOUT: "development:test:postgres"  ===》MySQL改为postgres

保存

重新启动配置

gitlab-ctl reconfigure

4)安装MySQL依赖

cd /opt/gitlab/embedded/bin/

./gem install mysql2  -v “0.3.20” ===>默认安装的是0.3.20

gitlab-rake gitlab:check  ====》运行该命令会提示版本是否正确  ===》其余信息不用看

gitlab-rake gitlab:setup  gitlab初始化

初始化完成之后可以执行 gitlab-rake gitlab:check检查

5)启动服务

gitlab-ctl restart

gitlab-ctl status 查看启动信息

gitlab 源码安装=》rpm安装横向迁移(version 9.0)的更多相关文章

  1. Linux学习笔记15—RPM包的安装OR源码包的安装

    RPM安装命令1. 安装一个rpm包rpm –ivh 包名“-i” : 安装的意思“-v” : 可视化“-h” : 显示安装进度另外在安装一个rpm包时常用的附带参数有:--force : 强制安装, ...

  2. Linux——【rpm、yun、源码包】安装

    RPM包或者安装源码包 在windows下安装一个软件很轻松,只要双击.exe的文件,安装提示连续“下一步”即可,然而linux系统下安装一个软件似乎并不那么轻松,因为我们不是在图形界面下.所以我们要 ...

  3. Centos 6.5升级gcc : 源码安装 + rpm安装

    1. 前言 采用Centos 6.5默认的gcc版本为4.4.7,不支持c++ 11,需要升级: 首先想到用yum命令:执行yum update gcc-c++或yum update g++ 显示没有 ...

  4. zabbix 3.2.2 server端(源码包)安装部署 (一)【转】

    环境准备: 操作系统 CentOS 6.8 2.6.32-642.11.1.el6.x86_64 zabbix server 172.16.10.150 zabbix agent 172.16.10. ...

  5. 源码包的安装、rsync同步、inotify监测

    一.源码包的安装 1.源码包的作用:yum 使用的是rpm包,rpm包安装的不能指定安装位置 源码包可以按需选择/定制,及时修复bug ,适用于各种平台 2.大致过程:源码包——>make gc ...

  6. [转] ROS2源码编译和安装

    机器人开源操作系统软件ROS在10年后, 终于推出全新架构的ROS2,代号“ardent”.中文意思为“热心的美洲鳖”,看来ROS2要从ROS1的“海龟”变成“土鳖”系列了. 与此同时,ROS2的编译 ...

  7. (3.2)mysql基础深入——mysql源码阅读工具安装与应用

    (3.2)mysql基础深入——mysql源码阅读工具安装与应用 关键字:mysql源码阅读工具 工具列举:一般多用[1][2][3]吧 [1]source insight [2]写字板/记事本 UE ...

  8. CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作

    CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作 2018年07月05日 00:28:38 String峰峰 阅读数:2614   使用yum安装的MySQL一般版本比较旧,但 ...

  9. Gitlab源码库里代码提交后,如何触发jenkins自动构建?

    版本库里代码提交后,如何触发jenkins自动构建?这是一个面试题,感觉自己回答的并不好,因为并没有用过这个功能,之前公司实际项目用的是svn版本管理,一般都用立刻构建,和定时任务构建(不管代码是否有 ...

  10. JavaWeb-tomcat安装(Unsupported major.minor version 51.0/startup.bat闪退)

    JavaWeb-tomcat安装(Unsupported major.minor version 51.0) 一 启动startup.bat 出错i 今天安装tomcat出错,折腾了一下午,收获了许多 ...

随机推荐

  1. [No0000FD]C# 正则表达式

    正则表达式 是一种匹配输入文本的模式..Net 框架提供了允许这种匹配的正则表达式引擎.模式由一个或多个字符.运算符和结构组成. 定义正则表达式 下面列出了用于定义正则表达式的各种类别的字符.运算符和 ...

  2. 结构体指针 Pointers to Structures struct Books Book1; struct Books *struct_pointer;

    小结: 1.To access the members of a structure using a pointer to that structure, you must use the → ope ...

  3. 内部排序->交换排序->起泡排序

    文字描述 首先将第一个记录的关键字和第二个记录的关键字进行比较,若为逆序(L.r[1].key>L.r[2].key),则将两个记录交换位置,然后比较第二个记录和第三个记录的关键字.依次类推,直 ...

  4. 《mongoDB》概念-数据类型

    一:概念 - mongoDB 是一个面向文档的数据库,而不是关系型数据库. - 摘自<mongoDB 权威指南 第2版>第3页 二:数据类型 - null - 用于表示空值或者不存在的字段 ...

  5. Python开发【模块】:aiohttp(一)

    AIOHTTP 用于asyncio和Python的异步HTTP客户端/服务器 主要特点: 支持客户端和HTTP服务器. 支持服务器WebSockets和 客户端WebSockets开箱即用,没有回调地 ...

  6. vue监听路由的变化,跳转到同一个页面时,Url改变但视图未重新加载问题

    引入:https://q.cnblogs.com/q/88214/ 解决方法: 添加路由监听,路由改变时执行监听方法 methods:{ fetchData(){ console.log('路由发送变 ...

  7. file 选取文件/文件夹

    一般网页上传文件大家都会用到这个标签 <input type="file" id="file_input"/> 我们可以通过这个标签选取文件,使用j ...

  8. sublime 可能卡的原因

    在重新安装编辑器的时候,配置javascript提示,发现这个插件安装之后,sublime变得非常卡,按照我电脑的性能,同时开着的atom敲代码都不卡.于是把这个插件卸载之后,sublime变得非常流 ...

  9. 递归、嵌套for循环、map集合方式实现树形结构菜单列表查询

    有时候, 我们需要用到菜单列表,但是怎么样去实现一个菜单列表的编写呢,这是一重要的问题. 比如我们需要编写一个树形结构的菜单,那么我们可以使用JQuery的zTree插件:http://www.tre ...

  10. 014-通过JDB调试,通过HSDB来查看HotSpot VM的运行时数据

    一.JDB调试        在预发环境下进行debug时,时常因为工具和环境的限制,导致debug体验非常差,那么有什么方法能够简化我们进行debug的体验吗?JDB就是一种.        JDB ...