• gitlab服务器迁移(亲测有效)


    描述:最近公司迁移gitlab,我没有迁移过,经过网上查找资料最终完成迁移,途中也遇到挺多坑和两个问题,希望能帮到你。

    服务器安装gitlab

    注意:新服务器gitlab版本也需要和旧版本一致。

    首先查看原Gitlab版本

    cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
    

    我的系统是unbuntu,系统不一致安装方法可能不大一直,需注意一下。

    安装

    更新系统包

    sudo apt-get update
    sudo apt-get upgrade
    

    安装依赖包

    sudo apt-get install -y curl openssh-server ca-certificates
    

    添加 GitLab 仓库

    curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
    

    安装 GitLab 13.6.3

    (注意:我的版本是13.6.3)

    udo EXTERNAL_URL="http://gitlab.example.com" apt-get install gitlab-ce=13.6.3-ce.0
    

    请将 http://gitlab.example.com 替换为你的 GitLab 域名或ip+端口。

    出现以下提示,表示安装成功
    在这里插入图片描述

    配置

    进入配置文件

    sudo vim /etc/gitlab/gitlab.rb
    

    配置对外IP和默认端口(大概第33行)
    在这里插入图片描述
    保存退出使配置生效

    gitlab-ctl reconfigure
    

    在这里插入图片描述

    备份原gitlab数据

    备份配置文件

    先备份一下一下两个文件

    /etc/gitlab/gitlab.rc
    /etc/gitlab/gitlab-secrets.json
    

    /etc/gitlab/gitlab-secrets.json文件,此文件中包含数据库加密密钥,CI/CD变量以及双因子认证等变量信息,如果在GitLab中使用到此部分内容,必须进行此文件的手动恢复。

    数据备份

    旧服务器执行进行数据备份

    gitlab-rake gitlab:backup:create
    

    备份地址在 /var/opt/gitlab/backups/下

    cd /var/opt/gitlab/backups/
    ll
    

    在这里插入图片描述
    下载并传输到新服务器的/var/opt/gitlab/backups/下,注意权限问题(下载前和上传后最好都将权限赋值为777)

    sudo chmod 777 1716965063_2024_05_29_13.6.3_gitlab_backup.tar
    

    在这里插入图片描述

    还原

    停止unicorn和sidekiq服务,puma服务

    gitlab-ctl stop nginx && gitlab-ctl  stop puma && gitlab-ctl  stop unicorn && gitlab-ctl stop sidekiq
    

    应用备份数据 中途输入两个yes

    注意BACKUP=打包的编号

    gitlab-rake gitlab:backup:restore BACKUP=1716978170_2024_05_29_13.6.3
    

    在这里插入图片描述
    在这里插入图片描述

    替换gitlab-secrets.json文件

    将旧服务器/etc/gitlab/gitlab-secrets.json替换新服务器/etc/gitlab/gitlab-secrets.json,注意先提前备份一下新服务器该文件,以免有问题还原。

    重启gitlab服务

    gitlab-ctl restart
    

    问题

    在还原过程中遇到两个问题,下面列出问题以及解决方法

    问题1

    PG::ConnectionBad: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/var/opt/gitlab/postgresql/.s.PGSQL.5432"?
    /opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/db.rake:49:in `block (3 levels) in '
    /opt/gitlab/embedded/bin/bundle:23:in `load'
    /opt/gitlab/embedded/bin/bundle:23:in `
    ' Tasks: TOP => gitlab:db:configure (See full trace by running task with --trace)

    解决方法:
    1、按住CTRL+C强制结束
    2、先停止 gitlab ,命令: sudo gitlab-ctl stop
    3、执行命令: sudo chmod 755 /var/opt/gitlab/postgresql
    4、执行命令:sudo systemctl restart gitlab-runsvdir
    5、再次配置:sudo gitlab-ctl reconfigure
    6、启动即可:sudo gitlab-ctl restart

    问题2

    Restoring PostgreSQL database gitlabhq_production ... ERROR:  must be owner of extension pg_trgm
    ERROR:  must be owner of extension btree_gist
    ERROR:  must be owner of extension btree_gist
    ERROR:  must be owner of extension pg_trgm
    

    解决办法:
    1、修改postgresql相关配置

    # 修改以下配置文件,修改端口监听地址,默认监控localhost,* 代表all
    $ vim /var/opt/gitlab/postgresql/data/postgresql.conf
     
    listen_addresses = '*'
    # 以下配置文件新增以下两行
    $ vim /var/opt/gitlab/postgresql/data/pg_hba.conf
     
    local   all         all                               trust
    host    all         all                               127.0.0.1/32 trust
    

    2、重启gitlab服务

    gitlab-ctl restart
    

    3、修改数据

    
    $ su - gitlab-psql
     
    $ /opt/gitlab/embedded/bin/psql -h 127.0.0.1 gitlabhq_production
     
    gitlabhq_production=# ALTER USER gitlab WITH SUPERUSER;
     
    ALTER ROLE
     
    gitlabhq_production=# \q
     
    $ exit
    

    參考

    Gitlab旧服务器迁移新服务器
    Ubuntu安装gitlab教程
    GitLab 报错 ConnectionBad: could not connect to server: No such…
    gitlab备份数据 gitlab项目备份
    gitlab安装以及数据迁移

  • 相关阅读:
    信创产业多点开花,AntDB数据库积极参与行业标准研制,协同价值链伙伴共促新发展
    Git与IDEA: 解决`dev`分支切换问题及其背后原因 为何在IDEA中无法切换到`dev`分支?全面解析!
    SpringBoot+Mybatis-plus整合easyExcel批量导入Excel到数据库+导出Excel
    Docker安装MongoDB和Redis
    机器学习笔记(3)
    谁说专科学历找不到测试工作?自学测试,北京第一份工作12K。
    微服务治理之道:构建可伸缩和高可用的系统
    如何快速创建SQL Server数据库服务并远程连接?
    do-exercise-排序子序列
    P1004 [NOIP2000 提高组] 方格取数
  • 原文地址:https://blog.csdn.net/lp1302190871/article/details/139353046