准备:

下载版本地址:

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. [No0000B6]C#中 ==与equals的区别

    using System; internal class Person { public Person(string name) { Name = name; } public string Name ...

  2. 使用shell删除目录下几天前生成文件方法

    find /dbfdumpdir/*full* -mtime +21 -exec rm -rf {} \; 这个shell可以删除目录/dbfdumpdir下面21天前生成的,文件名包含full的文件 ...

  3. Srt字幕文件解析

    // // ViewController.m // 字幕解析 // // Created by admin on 2018/8/30. // Copyright © 2018年 admin. All ...

  4. C和C指针小记(十一)-递归和迭代优化

    1.递归 C通过运行时堆栈支持递归函数的实现. 递归函数就是直接或间接调用自身的函数. 一个小例子: /** 使用递归将整型转换为ascii字符 @param value 整型数 */ void bi ...

  5. kvm qemu ,ubuntu debian rootfs 通过qemu复现路由器漏洞

    KVM https://www.toutiao.com/i6264303973256135170/?tt_from=weixin&utm_campaign=client_share&t ...

  6. 解决pathForResource返回nil, 无法读取plist文件问题

    有很多人在设置plist文件的时候, 会发现读取不了plist文件里面的内容, 返回值为nil, 下面我们来解决一下这个问题. 首先我们打开工程并且按照下面的步骤来设置: 设置好后, 我们来写一段代码 ...

  7. delphi传递变量给fastreport

    delphi传递变量给fastreport   1.打开frReport报表设计.2.打开file->data dictionary加变量.这里比如加title,bm,zbr,gj,zrs3.在 ...

  8. 深度剖析fork()的原理及用法

    我们都知道通过fork()系统调用我们可以创建一个和当前进程印象一样的新进程.我们通常将新进程称为子进程,而当前进程称为父进程.而子进程继承了父进程的整个地址空间,其中包括了进程上下文,堆栈地址,内存 ...

  9. 使用poi写excel文件

  10. c语言递归函数的调用

    int fun(); int main() { int n,sum=0,i; scanf("%d",&n); for (i=1; i<=n; i++) { sum+= ...