栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

gitlab服务器的迁移与升级备份---从centos 7到ubuntu docker的升级之路

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

gitlab服务器的迁移与升级备份---从centos 7到ubuntu docker的升级之路

升级思路: 在新服务器上安装老服务器的相同gitlab版本,然后在新服务器上迭代gitlab,
    进入旧版服务器查看当前版本-11.11.8备份老版本gitlab数据
	gitlab-rake gitlab:backup:create #手动备份

生成如下文件

3. 新服务器上安装11.11.8版本

  docker pull gitlab/gitlab-ce:11.11.8-ce.0  #安装对应版本
    运行docker gitlab
	### 创建配置文件目录
	mkdir -p /home/gitlab/config   创建config目录
	mkdir -p /home/gitlab/logs    创建logs目录
	mkdir -p /home/gitlab/data    创建data目录
	mkdir -p /home/gitlab/gitlab_backups

	### 启动gitlab
	docker run -d 
	 --hostname 10.10.10.246 
	 --publish 7001:443 --publish 7777:80 --publish 7003:22 --name gitlab_11.11.8 
	 --volume /home/gitlab/config:/etc/gitlab 
	 --volume /home/gitlab/logs:/var/log/gitlab 
	 --volume /home/gitlab/data:/var/opt/gitlab 
	gitlab/gitlab-ce:11.11.8-ce.0
	
	####
	--name: 设置当前容器名称 便于区分
    设置gitlab的配置文件
 #### 进入gitlab_11.11.8 容器
	 docker exec -it gitlab_11.11.8 /bin/bash  

 ### 设置gitlab配置文件并保存
	 vim /etc/gitlab/gitlab.rb
	 vim /var/opt/gitlab/gitlab-rails/etc/gitlab.yml
 ### 如果打开路径不对 可以通过查找 替换成查找后的路径即可
	find / -name gitlab.yml
	find / -name gitlab.rb



6. 配置完成后通过 10.10.10.246在网页上访问 能打开就可以,不需要进入
7. 还原备份准备工作,我第一次没有找到还原的路径,一直报错(都是经验)后来在服务器上直接备份 然后查找新服务器的备份路径,将老服务器的备份文件 拷到对应目录下 还原即可!!! 如果看不懂 建议多读两遍

  docker exec -it gitlab_11.11.8 /bin/bash   #进入gitlab容器
  gitlab-rake gitlab:backup:create  #在新服务器中手动备份!
  find / -name 新备份文件名
  cp 老服务器备份路径   新服务器备份路径(find找到的 如下如/var/lib...)


8. 还原备份

gitlab-rake gitlab:backup:restore BACKUP=1645105774_2022_02_17_11.11.8 --trace
#1645105774_2022_02_17_11.11.8 为老服务器备份文件名称

    打开web页面访问 这个时候用原来的账号密码就可以登录了

    升级准备工作, 将老版本的gitlab升级成最新的,需要按照如下的升级路径进行
    升级路径https://docs.gitlab.com/ee/update/#upgrade-paths

    下载没有版本的镜像文件

	docker pull gitlab/gitlab-ce:XXX-ce.0
	升级路径:
	11.11.8 ->
	12.0.12 ->  gitlab_12.0.12
	12.1.17 ->  gitlab_12.1.17
	12.10.14 -> gitlab_12.10.14
	13.0.14 ->  gitlab_13.0.14
	13.1.11 ->  gitlab_13.1.11
	13.8.8 ->   gitlab_13.8.8
	13.12.15 -> gitlab_13.12.15
	14.0.11 ->  gitlab_14.0.11
	14.1.8 ->   gitlab_14.1.8
	14.2.6 ->   gitlab_14.2.6

	#依次下载 下载哪个版本 XXX为版本号
    将下载好的下一个版本灌入数据 <清洗数据> 比如从11.11.8 >> 12.0.12
	docker run -d 
	 --hostname 10.10.10.246 
	 --publish 7001:443 --publish 7777:80 --publish 7003:22 --name gitlab_12.0.12 
	 --volume /home/gitlab/config:/etc/gitlab 
	 --volume /home/gitlab/logs:/var/log/gitlab 
	 --volume /home/gitlab/data:/var/opt/gitlab 
	gitlab/gitlab-ce:12.0.12-ce.0

	# 当前命令和11.11.8gitlab运行的命令差异仅在于两处 
	--name 容器的名称  
	gitlab/gitlab-ce:12.0.12-ce.0  镜像的名称
	--volume 参数里面用到的数据仍然是11.11.8的数据 
	也就是用高版本的镜像兼容低版本的数据
	##### 下面依次进行升级
这里我遇到的坑

最好每个大版本升级后再执行一次备份,并把备份移出原有备份文件夹<每一个字都是血泪 藍>
移出是因为下个版本升级会将版本文件覆盖 别问我是怎么知道的

    升级结束 如下图:
    你以为完了嘛?本地SSH更新了吗?
新版本服务器已迁移(原账号密码登录) 但需要更新ssh,步骤如下
1. 清空旧密钥
    ```
        C:Users用户用户名.ssh 文件夹内文件全部清空
    ```

2.	git bash生成新的密钥 [123替换成自己的邮箱]
    ```
        ssh-keygen -t rsa -C "123456789@qq.com" #生成密钥
        cat ~/.ssh/id_rsa.pub # 复制密钥
    ```
3.	往服务器绑定密钥 
    ```
        登录246服务器 >> 头像 >> 用户设置 >> SSH密钥 >> 添加SSH密钥
    ```
4.	本地项目指向新服务器地址
    ```
        git remote -v  # 查看当前服务器指向地址
        git remote set-url origin "新服务器ssh路径"  # 更改为新的服务器地址
    ```
    如果你还有遇到坑 欢迎提问 祝你好运
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/741311.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号