之前代码服务器用的 beginor/gitlab-ce:11.3.0-ce.0 的版本,而当前时间已经到12.4.1了。

gitlab 官方已经开始支持多语言, 而且也提供了 docker 镜像, beginor/gitlab-ce  的镜像作者已经不再维护,也建议大家切换到官方镜像。

所以打算整理下迁移升级的步骤。

1.首先连接上docker  beginor/gitlab-ce:11.3.0-ce.0的容器

docker exec -i -t gitlab /bin/bash

在gitlab正常运行的情况下,输入命令   gitlab-rake gitlab:backup:create  备份gitlab,完成后生成在  /var/opt/gitlab/backups/文件夹下 1572606813_2019_11_01_11.3.0_gitlab_backup.tar。

完成备份后,需要将文件复制出来留作备份。

① gitlab-ctl stop 停止gitlab全部服务

② exit 退出容器执行

③ docker stop gitlab 停止容器

2.我用的是新服务器,我把以前外挂目录全都删除掉了。只保留下了.tar的备份文件

docker pull gitlab/gitlab-ce:11.3.0-ce.0 拉取官方的相同版本进行数据恢复操作

docker run \
--privileged=true \
--hostname 192.168.0.2 \
--detach \
--publish 80:80 \
--publish 443:443 \
--publish 22:22 \
--name gitlab \
--restart unless-stopped \
--volume /home/inxworld/gitlab/config:/etc/gitlab \
--volume /home/inxworld/gitlab/log:/var/log/gitlab \
--volume /home/inxworld/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:11.3.0-ce.0

docker exec -i -t gitlab /bin/bash  进入dokcer 容器 gitlab

gitlab-rake gitlab:backup:restore BACKUP=1572606813_2019_11_01_11.3.0  恢复备份

完成后访问WEB检查了下没有什么问题。

3. 跨大版本升级

官方的升级路线指南 https://docs.gitlab.com/ee/policy/maintenance.html#upgrade-recommendations (反正我只是偶尔成功打开过一次,其他时间都是无法访问)

我的升级路径为:

gitlab/gitlab-ce:11.3.0-ce.0  (当前的版本)->  gitlab/gitlab-ce:11.3.4-ce.0    ->   gitlab/gitlab-ce:11.11.8-ce.0   ->   gitlab/gitlab-ce:12.0.12-ce.0   ->    gitlab/gitlab-ce:12.4.1-ce.0

先把需要的拉取回来
docker pull gitlab/gitlab-ce:11.3.4-ce.0
docker pull gitlab/gitlab-ce:11.11.8-ce.0
docker pull gitlab/gitlab-ce:12.0.12-ce.0
docker pull gitlab/gitlab-ce:12.4.1-ce.0

基本过程都是

1.     docker exec -i -t gitlab /bin/bash  进入dokcer 容器 gitlab

2.    gitlab-ctl stop:停止全部服务

3.    exit退出容器

4.    docker stop gitlab  停止dokcer 容器 gitlab ,再删除docker rm gitlab

5.

docker run \
--privileged=true \
--hostname 192.168.0.2 \
--detach \
--publish 80:80 \
--publish 443:443 \
--publish 22:22 \
--name gitlab \
--restart unless-stopped \
--volume /home/inxworld/gitlab/config:/etc/gitlab \
--volume /home/inxworld/gitlab/log:/var/log/gitlab \
--volume /home/inxworld/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:11.3.0-ce.0 ------------------------------------------------------------------注意修改这个位置

6.漫长等待升级完成以后,登陆网站看看基本功能是否正常。

7.循环1-6步骤,直到最新版本

我按这个升级的路线,走完以后,大概看了下看了下完成后的gitlab,翻译的不是很全!别的倒没遇到什么问题!

docker方式部署的gitlab跨版本迁移升级的更多相关文章

  1. Docker 方式部署的应用的版本更新

    前言 公司使用 Docker-Compose 的方式部署 Jenkins/Gitlab/Sonar/Confluence/Apollo/Harbor/ELK/MySQL 等一系列开发工具/数据库. 而 ...

  2. Docker 方式部署 Solo 博客系统总结

      此篇为Docker部署方式,另有Tomcat部署方式,请参考文章<Tomcat 方式部署 Solo 博客系统总结>   最近搭建了一个博客系统,作为自己的主页,方便记录一些平时所见所闻 ...

  3. docker方式部署禅道

    一.概述 使用docker方式部署禅道简单,快速,不容易出错.比起编译安装要方便很多. 二.部署 环境说明 操作系统:centos 7.6 ip地址:10.212.82.65 docker版本:19. ...

  4. docker方式部署elk日志搜索平台

    Docker部署ELKF操作文档 前提介绍 1.之前搭建elk+f+k使用原生系统软件安装方式,由于docker镜像日趋成熟,docker官网和elastic官网都有相关镜像和各自安装文档可供参考,各 ...

  5. 使用TTS实现Oracle跨版本迁移

    TTS实现数据库迁移,具有速度快.支持跨平台和跨版本等优点.本文记录了用TTS从10g single迁移到11g RAC的过程. Source数据库版本和字符集设置: SQL> select * ...

  6. 使用Docker方式部署Gitlab,Gitlab-Runner并使用Gitlab提供的CI/CD功能自动化构建SpringBoot项目

    1.Docker安装Gitlab,地址:https://www.cnblogs.com/sanduzxcvbnm/p/13814730.html 2.Docker安装Gitlab-runner,地址: ...

  7. spring-boot dubbo项目使用docker方式部署

    项目结构 本项目采用maven构建,有三个模块,分别是pms-interfaces, pms-services, pms-portal. 模块 描述 pms-interfaces 接口层,只能存放实体 ...

  8. linux下使用docker方式部署ftp服务器

    linux环境下部署vsftpd比较繁琐,可以直接使用docker官方仓库中的pure-ftpd镜像来部署ftp服务器. 下载镜像 docker pull stilliard/pure-ftpd:ha ...

  9. 基于阿里云 ecs 使用 docker 方式部署 showDoc

    官网文档:https://www.showdoc.cc/help?page_id=65610 (建议先看下这个) 首先说明一下,我 ecs 镜像是 CentOS 7.6 64位 1. 首先在 服务器上 ...

  10. ubuntu docker方式部署docker registry v2

    生成自己签名的证书 生成签名的过程需要根据提示输入一些参数,需要注意的时Common Name的时候需要输入一个自己需要的域名,如果时内部域名记得访问的时候需要修改hosts. mkdir /data ...

随机推荐

  1. Java基础——(综合练习)选手打分

    package com.zhao.test; import java.util.Scanner; public class Test17 { /* 需求 : 在唱歌比赛中,有6名评委给选手打分,分数范 ...

  2. Hbase安装(简)

    1.下载hbase到服务器,解压移动到/usr/local/下 2.更改vim hbase-env.sh加入java工作目录 export JAVA_HOME=/usr/lib/jvm/java-1. ...

  3. grpc start with python

    pip install grpcio grpcio-tools syntax = "proto3"; service FutureData { rpc GetTick(ReqTic ...

  4. C#之List、Queue、Stack使用EnsureCapacity方法预设数组大小

    简介 List.Queue 和 Stack 集合中的 EnsureCapacity方法预设数组大小. 为什么以及何时使用EnsureCapacity 方法 这里我们将首先了解为什么需要使用这种方法以及 ...

  5. HTML——VSCODE配置笔记

    # 使用VSCODE编辑前端代码 ### 1.问题一:无法根据!快速生成html标准代码 (1).首先看文件命名是否出错,即文件名后缀名.html (2).第一步没出错,就在新建文件的编辑状态下拨动C ...

  6. Jmeter前置处理器和后置处理器的使用

    一.JMETER基本概念  1. 测试计划:顶级菜单,代表一个测试计划: 2. 线程组:代表一个要测试的场景(各种相关的交易集合),对于性能测试来说可以指定多少个用户完成这个场景的内容,对于自动化测试 ...

  7. vue后台管理系统——权限管理模块

    电商后台管理系统的功能--权限管理模块 1. 权限管理业务分析 通过权限管理模块控制不同的用户可以进行哪些操作,具体可以通过角色的方式进行控制,即每个用户分配一个特定的角色,角色包括不同的功能权限. ...

  8. 笔记:vue.nextTick()方法的使用详解

    vue.nextTick定义: 在下次DOM更新循环结束之后执行延迟回调.在修改数据之后立即使用这个方法,获取更新后的DOM. 简单理解:数据更新了,在dom渲染后立即执行该函数 举例 注意:Vue实 ...

  9. opencv3 7.3 重映射 仿射变换

    重映射的概念 将一幅图像某位置的像素放置到另外一幅图像的指定位置上,需要对非整数像素坐标重映射来表达每个像素的新位置. g(x,y)=f(h(x,y)); 实现重映射 remap()函数 dst(x, ...

  10. uart 理解

    1: 串口字符串传输和单字节传输的差异体现在字节与字节间是或在停止位后有空闲位的插入(下图红箭头处,没有插入),即 uart_send("123")  和 uart_send('1 ...