首页 > 其他分享 >docker 方式部署的gitlab 升级

docker 方式部署的gitlab 升级

时间:2023-05-25 16:25:43浏览次数:39  
标签:rake ce.0 gitlab storage ce 升级 docker projects

升级背景: docker部署的gitlab版本11.1.4,需升级至16.0.1
思路:为了不影响目前正在使用的gitlab。
1. 将备份拷贝至另外服务器上,升级至最高版本后,另行还原
2. 直接将挂载目录中的文件拷贝至另外服务器上,升级至最高版本,另行还原--经测试,失败,不推荐使用此方法
2种方式将都进行实验。
以下是升级步骤:
升级路径参考:

https://gitlab-com.gitlab.io/support/toolbox/upgrade-path/?current=11.0.6&distro=docker&auto=true&edition=ce

升级路径:
倒序
gitlab/gitlab-ce:16.0.1-ce.0
gitlab/gitlab-ce:15.11.5-ce.0
gitlab/gitlab-ce:15.5.9-ce.0
gitlab/gitlab-ce:15.4.6-ce.0
gitlab/gitlab-ce:15.1.1-ce.0
gitlab/gitlab-ce:15.0.5-ce.0
gitlab/gitlab-ce:14.10.5-ce.0
gitlab/gitlab-ce:14.9.5-ce.0
gitlab/gitlab-ce:14.3.6-ce.0
gitlab/gitlab-ce:14.2.1-ce.0
gitlab/gitlab-ce:14.1.1-ce.0
gitlab/gitlab-ce:14.0.12-ce.0
gitlab/gitlab-ce:13.12.15-ce.0
gitlab/gitlab-ce:13.8.8-ce.0
gitlab/gitlab-ce:13.1.11-ce.0
gitlab/gitlab-ce:13.0.14-ce.0
gitlab/gitlab-ce:12.10.14-ce.0
gitlab/gitlab-ce:12.1.17-ce.0
gitlab/gitlab-ce:12.0.12-ce.0
gitlab/gitlab-ce:11.11.8-ce.0
gitlab/gitlab-ce:11.1.4-ce.0

  1. 准备新服务器
    安装docker
  2. 拷贝备份(2种方式)
    1. 拷贝备份 1684908745_2023_05_24_11.1.4_gitlab_backup.tar
    2. 拷贝挂载目录 略
      =======以下均按第一种方式还原
  3. 运行容器
mkdir /srv/gitlab -p
docker run -d --hostname 192.168.2.150 -p 30900:30800 --name gitlab -v /srv/gitlab/config:/etc/gitlab -v /srv/gitlab/logs:/var/log/gitlab -v /srv/gitlab/data:/var/opt/gitlab  gitlab/gitlab-ce:11.1.4-ce.0

docker run -d --hostname 192.168.2.150 -p 30900:30900 --name gitlab -v /data/gitlab/srv/gitlab/config:/etc/gitlab -v /data/gitlab/srv/gitlab/logs:/var/log/gitlab -v /data/gitlab/srv/gitlab/data:/var/opt/gitlab  gitlab/gitlab-ce:16.0.1-ce.0




  1. 将备份文件拷贝至容器/var/opt/gitlab/backups
gitlab-rake gitlab:backup:restore BACKUP=1684908745_2023_05_24_11.1.4.  # 注意:后面的_gitlab_backup.tar 不要,会报错文件不存在
# 耐心等待恢复完成
运行完成后,将gitlab.rb 修改
 external_url 'http://192.168.2.150:30900'
 删除gitlab,重新运行gitlab

  1. 注意: 13升到14的时候,存储需要migrate_to_hashed
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 #查看传统存储项目附件

gitlab-rake gitlab:storage:migrate_to_hashed
 
# 执行成功后,再次执行,会提示如下内容:
#There are no projects requiring storage migration. Nothing to do!
 
 
# 全部迁移成功,以下命令查看所列出的项目总数与页面的理应一致
gitlab-rake gitlab:storage:hashed_projects
 
 
# 查看,全部迁移成功以下两条命令应该为 0 
gitlab-rake gitlab:storage:legacy_projects
gitlab-rake gitlab:storage:legacy_attachments
 
# 列出传统存储的项目以及附件
gitlab-rake gitlab:storage:list_legacy_projects
gitlab-rake gitlab:storage:list_legacy_attachments


如果传统存储转HASH显示成功,实际没有成功的情况,可以更新下令牌重新转HASH就可以。
 
具体如下:
 
#进入数据库终端
gitlab-rails dbconsole
 
 
#执行清空命令
UPDATE projects SET runners_token = null, runners_token_encrypted = null;
 
#退出
exit;
 

============
报错:could not open /var/opt/gitlab/.ssh/authorized_keys
在容器启动过程中迅速执行:
chown git /var/opt/gitlab/.ssh/authorized_keys

14之后升级过快
先降级到14.1.1,等迁徙完结之后,再降级到14.2.1这样的。

14.1.1直接升级至14.3会出现报错,中间需过渡14.2.1
15.4.6 升级中间需过渡15.5.9

标签:rake,ce.0,gitlab,storage,ce,升级,docker,projects
From: https://www.cnblogs.com/dinghc/p/17428399.html

相关文章

  • Debian 11(apt系 )docker安装
    apt系(Debian11)安装Docker参考:dockerdebian安装教程:https://docs.docker.com/engine/install/debian/使用非roor用户组运行docker:https://docs.docker.com/compose/completion/dockercompose安装教程:https://docs.docker.com/compose/completion/1.卸载旧版本docke......
  • docker安装rabbitMQ
    输入命令dockerpullrabbitmq:3.7.7-management  设置账号和密码dockerrun-d--namerabbitmq3.7.7-p5672:5672-p15672:15672-v`pwd`/data:/var/lib/rabbitmq--hostnamemyRabbit-eRABBITMQ_DEFAULT_VHOST=my_vhost-eRABBITMQ_DEFAULT_USER=admin-eRABBITM......
  • dockerfile中安装miniconda
    要在Dockerfile中安装Miniconda,你可以按照以下步骤进行操作:1.在Dockerfile中选择一个基础映像作为你的基础操作系统。例如,你可以选择一个适合的Linux发行版,如Ubuntu或CentOS。2.在Dockerfile中添加安装Miniconda的命令。可以使用以下示例命令:```dockerfile#设......
  • docker启动mysql失败
    root@ecs-kc1-small-1-linux:~#dockerrun-p3306:3306mysql:8-oracle2022-03-0513:40:49+00:00[Note][Entrypoint]:EntrypointscriptforMySQLServer8.0.28-1.el8started.2022-03-0513:40:50+00:00[Note][Entrypoint]:Switchingtodedicateduser'mys......
  • 一文读懂如何将 Rancher 下游集群升级到 Kubernetes v1.25
    介绍最初在Kubernetesv1.21中被弃用的PodSecurityPolicyAPI,已经在Kubernetesv1.25中被完全删除。由于API被移除,你无法在Kubernetesv1.25集群中创建、编辑或查询PodSecurityPolicy资源。此外,由于其准入控制器已被移除,所以你的集群无法再强制执行在Kubernetesv1.24......
  • docker导出mysql软件包
      查看镜像:dockerimages 导出镜像:dockersave05db07cd74c0>E:\mysql.tar 导入镜像:在新电脑上执行命令:dockerload-iC:\Docker\redis.tarC:\Docker\redis.tar为压缩文件路径,此时需要一定时间等待导入完成。dockerload-iC:\Docker\rabbitmq.tardockerloa......
  • 3.docker容器相关命令
    docker容器相关命令容器是根据镜像创建的dockerimages1.查看容器dockerpsdockerps-a#查看所有容器2.创建容器dockerrun-itd--nameXXX nginx/bin/bashdockerrun-it-namexxxxxcentos:7参数:-i:一直运行着     -t: 给容器分配一个终端,  ......
  • docker 搭建gitlab
    一、官网地址:https://docs.gitlab.cn/jh/install/docker.html二、步骤: 1.要求至少4个G 2.先在linux主机创建一个gitlab的主目录,用于容器挂载:/srv/gitlab 3.设置设置gitlab的环境变量(不设置也可以)exportGITLAB_HOME=/srv/gitlab 4.docker启动镜像sudodocker......
  • 2.docker 镜像相关命令
    docker镜像相关命令1、查看 dockerimages dockerimages-q#查看所有镜像ID[root@localhost~]#dockerimagesREPOSITORYTAGIMAGEIDCREATEDSIZEnginxlatestf9c14fe76d503hoursago......
  • Docker初识——安装
    欢迎到我的新博客blog.devilwst.top欢迎到我的新博客blog.devilwst.top。由于某些原因,csdn属实不太方便,目前暂时不打算再更新csdn啦基本组成镜像(Image)镜像可以理解为一种构建时(build-time)结构,而容器可以理解为一种运行时(run-time)结构容器(Container)容器是一个轻量级(lightweight)......