admin

gitlab基于docker部署和迁移

admin 虚拟化 2024-01-09 359浏览 0

1、备份旧gitlab数据

gitlab-rake gitlab:backup:create

默认会保存在 /var/opt/gitlab/backups ,实际情况可以使用find查找下文件路径

2、在新服务器上使用docker搭建相同版本的gitlab

version: '3'
services:
  gitlab:
    image: 'gitlab/gitlab-ce:12.6.4-ce.0'
    #image: gitlab/gitlab-ce:latest
    hostname: 192.168.9.89
    restart: always
    environment:
      GITLAB_OMNIBUS_CONFIG: | 
        prometheus['enable'] = false
        prometheus_monitoring['enable'] = false
        #external_url 'http://git.helowin.group:8011'
        #nginx['enable'] = false
        #nginx['listen_address'] = ["*"]
        #nginx['listen_port'] = 8011
        nginx['client_max_body_size'] = "200m"
        gitlab_rails['gitlab_shell_ssh_port'] = 4022
        #redis['enable'] = false
        #italy['enable'] = false
        #ostgresql['enable'] = false
        # Add any other gitlab.rb configuration here, each on its own line
    ports:
      - '80:80'
      - '4022:22'
      - '443:443'
      - '3000:3000'
    volumes:
      - /srv/gitlab/config:/etc/gitlab
      - /srv/gitlab/logs:/var/log/gitlab
      - /srv/gitlab/data:/var/opt/gitlab


在docker-compose.yml文件的同级目录创建三个目录:

mkdir /srv/gitlab/config
mkdir /srv/gitlab/logs
mkdir /srv/gitlab/data

执行 docker-compose up -d 启动该容器,启动的时间会比较长 耐心等待 5分钟左右!!

3、拷贝文件到新服务器的docker中

docker cp gitlab_backup.tar gitlab:/var/opt/gitlab/backups

4、重建数据库

gitlab_backup.tar这个文件是第一步备份的时候生成的

docker exec -it compose-gitlab-ce /bin/bash
chmod 777 -R /var/opt/gitlab/backups/
gitlab-rake gitlab:backup:restore BACKUP=gitlab_backup.tar

迁移完成!!! 重启 gitlab 并验证

gitlab-ctl restart
gitlab-rake gitlab:check SANITIZE=true

注意事项
gitlab版本必须一致,否则迁移失败


版权声明

本站《作品展示》类文章均为原创,转载必须注明出处,技术分享类文章部分来源于网络,版权归原作者所有,若侵权请留言。

发表评论