gitlab迁移/升级

2022年2月20日 397点热度 0人点赞 0条评论

gitlab迁移

如果gitlab需要迁移到一台新的机器上,大致步骤如下:

  1. 先停止旧的gitlab不再使用了,然后备份旧的gitlab,备份时间根据数据量大小而定
    gitlab-backup create GITLAB_BACKUP_MAX_CONCURRENCY=4 GITLAB_BACKUP_MAX_STORAGE_CONCURRENCY=1 SKIP=tar

    参数 GITLAB_BACKUP_MAX_CONCURRENCY 解析

    The maximum number of projects to back up at the same time. Defaults to the number of logical CPUs (in GitLab 14.1 and earlier, defaults to 1

    参数 GITLAB_BACKUP_MAX_STORAGE_CONCURRENCY 解析

    The maximum number of projects to back up at the same time on each storage. This allows the repository backups to be spread across storages. Defaults to 2 (in GitLab 14.1 and earlier, defaults to 1

    参数 SKIP=tar

    此参数在12.9以后才支持。以前的版本默认会把备份出的文件归档成一个tar包,但很多时候我们想由另外的程序来处理这个过程,所以在12.9之后增加了这个参数,表示不再默认对备份文件进行归档。同理,12.9以前恢复必须有一个tar文件由gitlab来解压,否则提示找不到备份文件,而12.9之后如果不指定tar文件,会自动选定未归档的备份来恢复,也可以指定tar文件名来恢复指定备份

    2.备份配置文件,后续需要恢复

    /etc/gitlab/gitlab-secrets.json
    /etc/gitlab/gitlab.rb

    3.在新机器上安装同版本的gitlab,并且启动正常
    4.把备份传入新机器,然后关闭新机器连接到数据库的进程

    gitlab-ctl stop puma
    gitlab-ctl stop sidekiq
    #verify
    gitlab-ctl status

    5.开始恢复备份

    # 注意备份文件放入gitlab.rb的backup_path的路径下,否则找不到备份
    gitlab-backup restore BACKUP=xxxxxx
    # 如果是tar备份文件,则只需要 _gitlab_backup.tar 前面的名称

    6.恢复备份后,还原备份文件

    /etc/gitlab/gitlab-secrets.json
    /etc/gitlab/gitlab.rb

    7.重新配置gitlab,并且重启

    gitlab-ctl reconfigure
    gitlab-ctl restart

gitlab升级

升级注意事项:

  • 升级路径参考地址,禁止跨版本
    https://docs.gitlab.com/ee/update/index.html#upgrade-paths
  • 建议手动做一次全备,升级过程gitlab会自动并且只备份数据库
  • 不需要停服务,但也建议关闭外网访问
  • Omnibus版本升级只需要下载rpm包,然后rpm -Uvh即可
  • 升级后需要进入管理员后台查看 后台迁移后台任务 , 确保所有调度都执行完了再升级下个版本,官方推荐是版本之间有几天时间间隔

yuc

这个人很懒,什么都没留下

error: Content is protected !!