首页 > 其他分享 >gitlab升级v2.0

gitlab升级v2.0

时间:2022-09-24 00:12:04浏览次数:54  
标签:存储 rake gitlab v2.0 备份文件 升级 迁移

gitlab升级、备份、恢复

  • 彻底删除旧版本

1、停止gitlab

gitlab-ctl stop

2、卸载gitlab(注意这里写的是gitlab-ce)

rpm -e gitlab-ce

3、查看gitlab进程

ps aux | grep gitlab

4、杀掉第一个进程(就是带有好多.............的进程)

kill -9 18777

杀掉后,在ps aux | grep gitlab确认一遍,还有没有gitlab的进程

5、删除所有包含gitlab文件

find / -name gitlab | xargs rm -rf

  • 安装

1、通过yum(在线/离线)或rpm都可以安装:

yum install gitlab.el7.13.10.3.rpm #本地文件安装

2、修改配置:

​ 数据文件位置:git_data_dirs({ "default" => { "path" => "/data/gitlab/git-data" } })

​ 备份文件位置:gitlab_rails['backup_path'] = "/data/gitlab/backups"

​ 是否激活内置nginx,默认为true:nginx['enable'] = false

3、重新配置,并重启一下:

gitlab-ctl reconfigure

gitlab-ctl restart

如果在配置过程中卡住,比如卡在:wait for redis service socket,新开终端执行:/opt/gitlab/embedded/bin/runsvdir-start

3、首次打开首页会要求设置root口令

  • 备份

1、非常简单,执行:

gitlab-rake gitlab:backup:create

2、单独备份/etc/gitlab下的gitlab.rb和gitlab-secrets.json文件

  • 恢复

1、确保备份文件在备份文件夹内,备份文件版本要与安装版本一致

2、确保gitlab账号在pg库中为超级用户

gitlab-psql #进入pg数据库客户端

SELECT rolname,rolsuper FROM pg_roles WHERE rolname='gitlab'; #执行查询,如果rolsuper为t则ok,否则需要执行:

ALTER USER gitlab WITH SUPERUSER;

3、停止相关数据连接服务

gitlab-ctl stop unicorn

gitlab-ctl stop sidekiq

4、恢复,BACKUP参数为时间戳,备份文件名不带 _gitlab_backup.tar 字符串

gitlab-rake gitlab:backup:restore BACKUP=1659688520_2022_08_05_14.10.5

5、恢复gitlab-secrets.json文件到/etc/gitlab目录。该文件含有敏感信息,未被备份到备份包中,需要单独备份

  • 存储迁移

1、正常的存储迁移命令:

gitlab-rake gitlab:storage:migrate_to_hashed #执行后如果有类似Enqueuing migration of 41 projects in batches of 200. Done!的提示,则说明有些项目没有迁移成功

2、readonly的项目会导致存储迁移进入background migration状态,需要进入数据库修改项目为非只读模式:

gitlab-psql #进入pg库客户端

update projects set repository_read_only = 'f'; #执行修改sql,将所有项目设置为非只读

3、几个命令:
gitlab-rake gitlab:storage:hashed_projects #查看hash存储项目总数

gitlab-rake gitlab:storage:list_legacy_projects #查看传统存储项目情况

gitlab-rake gitlab:storage:list_legacy_attachments #查看传统存储项目附件

  • background migrations

有background migrations 任务的情况下是不能直接升级到14.2及以后版本。需要先在管理员菜单中的监控-后台迁移界面中确认没有队列中的任务。如果有,可以先升级到14.1.x,再看是否完成后台迁移任务。

  • 升级

1、不能跨大版本升级,顺序只能是升级到大版本的最高小版本,再升级到下一个大版本的最低小版本,升级路径:11.11.8 -> 12.0.12 -> 12.1.17 -> 12.10.14 -> 13.0.14 -> 13.1.11 -> 13.8.8 -> 13.12.15 -> 14.0.0 -> 14.0.5 -> 14.2.0->latest 14.Y.Z

2、14起不再支持传统存储的项目,13 版默认启用了hash存储,软件内部会自动做数据迁移,从传统存储转至hash存储。因此必须在13的时候做存储迁移。同时,14.2不支持background migration状态下的项目,必须彻底解决存储迁移问题再向上升

标签:存储,rake,gitlab,v2.0,备份文件,升级,迁移
From: https://www.cnblogs.com/badwood316/p/16724723.html

相关文章

  • gitlab和Jenkins的CICD 流水线
    一、基于jenkins和gitlab的cicd1)基于docker安装gitlab1.1)pull镜像dockerpullgitlab/gitlab-ce:latest官方镜像dockerpullregistry.cn-hangzhou.aliyuncs.com/......
  • 第九章Centos7下Docker版本升级
    一、查找Docker的软件包[root@staging~]#rpm-qa|grepdockerdocker-client-1.13.1-203.git0be3e21.el7.centos.x86_64docker-common-1.13.1-203.git0be3e21.el7.ce......
  • gitlab部署
    目录gitlab部署gitlab管理gitlab部署//关闭防火墙和selinux[root@localhost~]#systemctldisable--nowfirewalld.serviceRemoved/etc/systemd/system/multi-use......
  • 版本控制gitlab
    版本控制gitlab目录版本控制gitlab版本控制介绍常用的版本控制工具:gitlab部署版本控制介绍版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更......
  • gitlab部署
    目录gitlab部署gitlab部署安装所需得包[[email protected]]#dnf-yinstallepel-releasegitopenssh-serveropenssh-clientspostfixcronie设置postfi......
  • gitlab
    gitlab目录gitlabgitlab仓库管理系统gitlab特点gitlab部署gitlab仓库管理系统GitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的......
  • gitlab
    版本控制gitlab目录1.版本控制介绍2.gitlab部署1.版本控制介绍版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核......
  • 版本控制gitlab
    版本控制gitlab什么是版本控制gitlabGitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。安装方法是参考GitLab在GitHub上......
  • 版本控制gitlab
    版本控制gitlab目录版本控制gitlab什么是版本控制gitlabgitlab部署什么是版本控制gitlabGitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上......
  • 持续集成环境问题汇总(基于:java + testng + httpclient + allure + git + gitlab + jen
    说明包含前期调试遇到的问题 idea中,命令执行testng.xml,报错PleaserefertoD:\myjava\apiAutoTest\target\surefire-reportsfortheindividualtestresults.参考......