团队内网开发,需要去甲方开发,希望将整个gitlab迁移到甲方
下面是实验过程
创建实验环境
- 配置docker docker-compose
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://7clusxie.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
- 安装 gitlab
注意:gitlab的版本一致 ,直接 docker save 保存 gitlab 到 目的地docker load
version: '3.5'
services:
gitlab:
image: 'gitlab/gitlab-ce:latest'
container_name: gitlab
restart: always
hostname: '192.168.247.226'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://192.168.247.226:8929'
gitlab_rails['gitlab_shell_ssh_port'] = 2224
gitlab_rails['time_zone'] = 'Asia/Shanghai'
ports:
- '8929:8929'
- '2224:22'
- '5005:5005'
volumes:
- '$GITLAB_HOME/config:/etc/gitlab'
- '$GITLAB_HOME/logs:/var/log/gitlab'
- '$GITLAB_HOME/data:/var/opt/gitlab'
docker-compose up -d
启动gitlab
备份
从 192.168.247.191
迁移到192.168.247.226
- 在
192.168.247.191
备份 - 进入gitlab 执行
gitlab-rake gitlab:backup:create
使用以上命令会在/var/opt/gitlab/backups
或者$GITLAB_HOME/data/backups目录下创建一个名称类似为1633136858_2021_10_02_14.3.1_gitlab_backup.tar
的压缩包, 这个压缩包就是Gitlab整个的完整部分, 其中开头的1633136858_2021_10_02_14.3.1
是恢复的标识
恢复
进入gitlab 容器,
cd /var/opt/gitlab/backups
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
chmod 777 1633136858_2021_10_02_14.3.1_gitlab_backup.tar
gitlab-rake gitlab:backup:restore BACKUP=1633136858_2021_10_02_14.3.1
gitlab-ctl start