准备:

下载版本地址:

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. 1.7Oob 方法体中的循环也能也能返回值给方法

    public String monthString(int monthNumber){ switch(monthNumber){ case 1: return "january"; ...

  2. HTTP缓存机制及原理

    前言 Http 缓存机制作为 web 性能优化的重要手段,对于从事 Web 开发的同学们来说,应该是知识体系库中的一个基础环节,同时对于有志成为前端架构师的同学来说是必备的知识技能.但是对于很多前端同 ...

  3. instrument之Time Profiler总结

    一.工欲善其事必先利其器 time profile时间分析工具用来检测应用CPU的使用情况,可以看到应用程序中各个方法正在消耗CPU时间,使用大量CPU不一定是个问题.客户端中动画就对CPU依赖就非常 ...

  4. 我的grunt学习笔记

    什么是grunt?  Grunt是一个JavaScript任务运行器,用于自动执行频繁任务(如压缩,编译,单元测试)的工具.它使用命令行界面来运行在文件中定义的自定义任务(这个文件称为Gruntfil ...

  5. BZOJ1280 Emmy卖猪pigs 网络流

    正解:网络流 解题报告: 传送门! 我网络流的基础题都还麻油做完就来做这个了,,,wsl,,, 首先想下最基础的构图方法 不难想到把猪圈和顾客分别当做节点,然后新建一个源点和汇点 然后考虑怎么连边,首 ...

  6. bug: '\xff' 转换成-1 而不是255

    后台给的值处理后 Byte rtncode = payload[0]; 打印payload[0]是'\xff', 增加 if (rtncode ==255 ){ ....} 的判断,跳里面去了 然后用 ...

  7. 程序------>数据结构

    一程序概念: 1.对身边的任何一个事物进行认知和分类,从而得到一些信息: 2.在得到的信息基础之上建立了概念模型: 3.根据概念模型将我们生活中的实际问题转换成计算机能理解的形式: 4.用户通过人机交 ...

  8. SpringBoot-整合@transactional注解

    springboot默认集成事务,只主要在方法上加上@Transactional即可

  9. python练习题-day3

    1.有变量name="aleX leNb" 1)移除 name 变量对应的值两边的空格,并输出处理结果 print(name.strip()) 2)移除name变量左边的" ...

  10. css垂直居中怎么设置?文字上下居中和图片垂直居中

    css 居中分css垂直居中和css水平居中,水平居中平时比较常用,这里我们主要讲css上下居中的问题.垂直居中又分为css文字上下居中和css图片垂直居中,下面我们就分别来介绍一下. css文字上下 ...