docker方式部署的gitlab跨版本迁移升级
之前代码服务器用的 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跨版本迁移升级的更多相关文章
- Docker 方式部署的应用的版本更新
前言 公司使用 Docker-Compose 的方式部署 Jenkins/Gitlab/Sonar/Confluence/Apollo/Harbor/ELK/MySQL 等一系列开发工具/数据库. 而 ...
- Docker 方式部署 Solo 博客系统总结
此篇为Docker部署方式,另有Tomcat部署方式,请参考文章<Tomcat 方式部署 Solo 博客系统总结> 最近搭建了一个博客系统,作为自己的主页,方便记录一些平时所见所闻 ...
- docker方式部署禅道
一.概述 使用docker方式部署禅道简单,快速,不容易出错.比起编译安装要方便很多. 二.部署 环境说明 操作系统:centos 7.6 ip地址:10.212.82.65 docker版本:19. ...
- docker方式部署elk日志搜索平台
Docker部署ELKF操作文档 前提介绍 1.之前搭建elk+f+k使用原生系统软件安装方式,由于docker镜像日趋成熟,docker官网和elastic官网都有相关镜像和各自安装文档可供参考,各 ...
- 使用TTS实现Oracle跨版本迁移
TTS实现数据库迁移,具有速度快.支持跨平台和跨版本等优点.本文记录了用TTS从10g single迁移到11g RAC的过程. Source数据库版本和字符集设置: SQL> select * ...
- 使用Docker方式部署Gitlab,Gitlab-Runner并使用Gitlab提供的CI/CD功能自动化构建SpringBoot项目
1.Docker安装Gitlab,地址:https://www.cnblogs.com/sanduzxcvbnm/p/13814730.html 2.Docker安装Gitlab-runner,地址: ...
- spring-boot dubbo项目使用docker方式部署
项目结构 本项目采用maven构建,有三个模块,分别是pms-interfaces, pms-services, pms-portal. 模块 描述 pms-interfaces 接口层,只能存放实体 ...
- linux下使用docker方式部署ftp服务器
linux环境下部署vsftpd比较繁琐,可以直接使用docker官方仓库中的pure-ftpd镜像来部署ftp服务器. 下载镜像 docker pull stilliard/pure-ftpd:ha ...
- 基于阿里云 ecs 使用 docker 方式部署 showDoc
官网文档:https://www.showdoc.cc/help?page_id=65610 (建议先看下这个) 首先说明一下,我 ecs 镜像是 CentOS 7.6 64位 1. 首先在 服务器上 ...
- ubuntu docker方式部署docker registry v2
生成自己签名的证书 生成签名的过程需要根据提示输入一些参数,需要注意的时Common Name的时候需要输入一个自己需要的域名,如果时内部域名记得访问的时候需要修改hosts. mkdir /data ...
随机推荐
- ORihard KCU116E: 经济实惠的 100Gbps 网络和存储 FPGA 开发平台
ORihard KCU116E: 经济实惠的 100Gbps 网络和存储 FPGA 开发平台 ORihard KCU116E: 经济实惠的 100Gbps 网络和存储 FPGA 开发平台 Kint ...
- mysql建表常用关键字
DISTRIBUTE BY HASH(`id`) INDEX_ALL='Y' STORAGE_POLICY='HOT'
- Java流程控制之while循环详解
while循环 while循环 do...while循环 for循环 在Java5中引入了一种主要用于数组的增强型for循环 while循环 while循环是最基本的循环,它的结构为 while(布尔 ...
- JavaScript Math(算数) 对象
JavaScript Math(算数) 对象 Math(算数)对象的作用是:执行常见的算数任务. 在线实例 round()如何使用 round(). random()如何使用 random() 来返回 ...
- idea引入ojdbc包报错
网上下载或者让同事传两个jar过来,ojdbc6-11.2.0.7.0.jar 以及jconn3.0.jar 放入同一个文件夹中: 在此文件夹中cmd如下:回车,进入cmd控制台. 输入如下两个命令: ...
- vue 的生命周期
生命周期就是 vue 从开始创建到销毁的过程,分为四大步(创建,挂载, 更新,销毁),每一步又分为两小步,如 beforeCreate,created.beforeCreate 前,也就是 new V ...
- openpyxl-使用API总结
import openpyxlfrom openpyxl.comments import Comment from openpyxl.styles import Font, Alignment, Bo ...
- MSSQL 查看数据库所有的触发器
SELECT object_name(a.parent_obj) as [表名] ,a.name as [触发器名称] ,(case when b.is_disabled=0 then '启用' el ...
- LeetCode系列之 (JavaScript) => 53. 最大子数组和
题目描述: leetcode 题目链接: 53. 最大子数组和 - 力扣(LeetCode) (leetcode-cn.com) 解题思路分析: 题干最终的输出是连续子数组的最大和:1. 贪心算法: ...
- infoq上看视频1(持续更新)
打破工程师思维 http://www.infoq.com/cn/presentations/break-engineer-thinking 百姓网人: 从技术走向产品的那点儿事 http://www. ...