美文网首页
GitLab 迁移与升级

GitLab 迁移与升级

作者: vicezz | 来源:发表于2022-03-17 15:52 被阅读0次

    方法一:

    1,备份老版本gitlab数据并迁移新版本gitlab服务器

    停gitlab服务直接备份data和config目录

    #!/bin/bash

    sudoscp -rgitlab/configbetalpha@xxx.xxx.xxx.xxx:/xxx/gitlab_old/&&

    sudo tar -zcvf /xxx/data.tar.gz /xxx/gitlab/data &&

    scp -r /xxx/data.tar.gz betalpha@xxx.xxx.xxx.xxx:/xxx/gitlab_old/

    2,搭建同版本gitlab

    docker run --detach --publish 3001:80 --publish 4022:22 --publish 3443:443 --name gitlab_old --restart always --volume /xxx/gitlab/config:/etc/gitlab --volume /xxx/gitlab/logs:/var/log/gitlab --volume /xxx/gitlab/data:/var/opt/gitlab --volume /xxx/gitlab/backups:/var/opt/gitlab/backups gitlab/gitlab-ce:11.7.5-ce.0

    3,还原数据到新版本gitlab服务

    1,docker exec -it [容器ID] chown git /var/opt/gitlab/.ssh/authorized_keys

    2,dockerexec-it [容器ID] chmod 2770 /var/opt/gitlab/git-data/repositories

    3,dockerexec-it [容器ID] gitlab-ctl reconfigure

    登陆容器  

    update-permissions && chmod 2770 /var/opt/gitlab/git-data/repositories

    docker restart gitlab_old

    4,升级新版本gitlab 不支持跨版本升级要小版本一个一个迭代升级 

    11.3.0-ce.0 ->  11.3.4-ce.0    ->   11.11.8-ce.0   ->   12.0.12-ce.0   ->    12.4.1-ce.0 

    12.1.0 -> 12.10.14 -> 13.0.12 -> 13.1.0 -> 13.2.0 -> 13.3.1 -> 13.4.0

    11.7.5 -> 11.11.8 -> 12.0.12 -> 12.1.17 -> 12.10.14 -> 13.0.14 -> 13.1.11-> 13.8.8->13.12.10->14.0.7->14.1.3(升级到这就可以了官方也只支持到14.1.2,再往上升级可能会报错)-->14.2.1 -->latest

    不停循环更换image版本,每次升级后都要备份 然后用新的备份进行下一次还原

    登陆容器

    gitlab-ctl stop  

    gitlab-rake gitlab:backup:create

    docker run --detach --publish 3001:80 --publish 4022:22 --publish 3443:443 --name gitlab_old --restart always --volume /xxx/gitlab/config:/etc/gitlab--volume /xxx/gitlab/logs:/var/log/gitlab--volume /xxx/gitlab/data:/var/opt/gitlab--volume /xxx/gitlab/backups:/var/opt/gitlab/backupsgitlab/gitlab-ce:xx.xx.xx-ce.0

    5,升级后修改url登陆地址

    方法二:

    1,备份老版本gitlab数据并迁移新版本gitlab服务器

    gitlab-rake gitlab:backup:create

    2,搭建同版本gitlab

    docker run --detach --publish 3001:80 --publish 4022:22 --publish 3443:443 --name gitlab_old --restart always --volume /xxx/gitlab/config:/etc/gitlab--volume /xxx/gitlab/logs:/var/log/gitlab--volume /xxx/gitlab/data:/var/opt/gitlab--volume /xxx/gitlab/backups:/var/opt/gitlab/backupsgitlab/gitlab-ce:11.7.5-ce.0

    3,还原数据到新版本gitlab服务

    登陆容器

    gitlab-ctl stop unicorn   

    gitlab-ctl stop sidekiq

    chmod 777 /var/opt/gitlab/backups/1530156812_2018_06_28_10.8.4_gitlab_backup.tar

    gitlab-rake gitlab:backup:restore BACKUP=1530156812_2018_06_28_10.8.4 

    gitlab-ctl start   

    4,升级新版本gitlab

    gitlab-ctl stop  

    gitlab-rake gitlab:backup:create

    docker run --detach --publish 3001:80 --publish 4022:22 --publish 3443:443 --name gitlab_old --restart always --volume /xxx/gitlab/config:/etc/gitlab--volume /xxx/gitlab/logs:/var/log/gitlab--volume /xxx/gitlab/data:/var/opt/gitlab--volume /xxx/gitlab/backups:/var/opt/gitlab/backupsgitlab/gitlab-ce:xx.xx.xx-ce.0

     gitlab-runner搭建

    docker run --detach --publish 10080:80 --publish 10022:22 --name gitlab-runner --restart always --volume /var/run/docker.sock:/var/run/docker.sock --volume /xxx/gitlab-runner/config:/etc/gitlab-runnergitlab/gitlab-runner:latest

     gitlab-runner注册

    进入容器

    gitlab-runner registers 根据不项目要求去选择引擎和标签,一般引擎选择docker或者k8s,选择docker 最后一个选alpine:latest

    修改config.toml中的custom_build_dir可用

    简单验证

    1.检查之前项目是否都还在

    2.拉代码,推代码

    3.ci-cd是否还能正常执行

    4.以前文档和wiki内容是否还有

    相关文章

      网友评论

          本文标题:GitLab 迁移与升级

          本文链接:https://www.haomeiwen.com/subject/rxwvdrtx.html