• Gitlab-内嵌数据库迁移到外部postgresql实例


    实验环境:
    172.16.212.11上docker安装了gitlab实例,需要将该实例的数据迁移到172.16.212.22

    一、172.16.212.22上新起一个gitlab实例

    sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    sudo yum install docker-ce -y
    sudo systemctl start docker
    sudo mkdir /data/gitlab/{etc,data} -pv
    sudo mkdir /data/log/gitlab -pv
    sudo mkdir /data/gitlab/data/gitlab-shell/{hooks,hooks_no_review,custom_hooks} -pv

    sudo docker run --detach
    –hostname git.testabc.com
    –publish 8443:443 --publish 8000:80 --publish 8022:22
    –name gitlab
    –restart always
    –volume /data/gitlab/etc:/etc/gitlab
    –volume /data/log/gitlab:/var/log/gitlab
    –volume /data/gitlab/data:/var/opt/gitlab
    –volume /data/gitlab/data/gitlab-shell/hooks:/opt/gitlab/embedded/service/gitlab-shell/hooks
    –volume /data/gitlab/data/gitlab-shell/hooks_no_review:/opt/gitlab/embedded/service/gitlab-shell/hooks_no_review
    –volume /data/gitlab/data/gitlab-shell/custom_hooks:/opt/gitlab/embedded/service/gitlab-shell/custom_hooks
    –volume /etc/localtime:/etc/localtime
    harbor.yourdizhi.com/ops/gitlab/gitlab-ce:13.1.4-ce.0

    二、172.16.212.22上安装postgresql

    sudo yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm -y
    sudo yum install postgresql11 postgresql11-contrib postgresql11-server -y
    sudo /usr/pgsql-11/bin/postgresql-11-setup initdb
    sudo systemctl start postgresql-11

    sudo vim /var/lib/pgsql/11/data/postgresql.conf
    listen_addresses = ‘*’

    sudo vim /var/lib/pgsql/11/data/pg_hba.conf
    host all all 0.0.0.0/0 md5

    sudo systemctl restart postgresql-11
    sudo -u postgres psql

    create role gitlab login encrypted password ‘’;
    CREATE DATABASE ops_gitlab owner=gitlab ENCODING=‘UTF8’;
    \c ops_gitlab;
    create extension pg_trgm;

    三、172.16.212.22上,修改gitlab配置文件,外接postgresql

    sudo vim /data/gitlab/etc/gitlab.rb
    gitlab_rails[‘db_adapter’] = “postgresql”
    gitlab_rails[‘db_encoding’] = “utf8”
    gitlab_rails[‘db_database’] = “ops_gitlab”
    gitlab_rails[‘db_username’] = “gitlab”
    gitlab_rails[‘db_password’] = “”
    gitlab_rails[‘db_host’] = “172.16.212.22”
    gitlab_rails[‘db_port’] = 5432
    prometheus[‘enable’] = false
    node_exporter[‘enable’] = false
    redis_exporter[‘enable’] = false
    postgres_exporter[‘enable’] = false
    prometheus_monitoring[‘enable’] = false

    sudo docker restart gitlab

    四、172.16.212.11上,进入旧的gitlab容器,备份数据,并将备份文件传给172.16.212.22上新gitlab实例

    sudo docker exec -it gitlab /bin/bash
    gitlab-rake gitlab:backup:create /var/opt/gitlab/backups/
    exit

    cd /data/gitlab/data/backups/
    scp 1659596203_2022_08_04_13.1.4_gitlab_backup.tar 172.16.212.22:/data/gitlab/data/backups/

    五、172.16.212.22上,进入容器,执行恢复

    sudo docker exec -it gitlab /bin/bash
    chmod 644 1659596203_2022_08_04_13.1.4_gitlab_backup.tar
    gitlab-rake gitlab:backup:restore BACKUP=1659596203_2022_08_04_13.1.4

  • 相关阅读:
    【第二十一讲】参数解析器
    Metabase学习教程:权限-2
    基于.NetCore开发博客项目 StarBlog - (18) 实现本地Typora文章打包上传
    多输入多输出 | MATLAB实现PSO-BP粒子群优化BP神经网络多输入多输出
    30天Python入门(第五天:深入了解Python中的列表)
    数据库数据恢复—SQL Server数据库ndf文件变为0KB的数据恢复案例
    双十一再送再送自己一篇论文 2022-11-11
    OpenCV画图(画OpenCV的标志)
    手机储存快满了,怎么备份手机图片和视频到电脑上?
    【LeetCode: 901. 股票价格跨度 | 单调栈】
  • 原文地址:https://blog.csdn.net/qq_35550345/article/details/127125051