GitLab 服务器的迁移以及注意点

Git 已经是代码托管工具中的主流了,如果是自己搭建私有的 Git 服务器我们一般会使用 GitLab ,在《在CentOS7中安装GitLab》 一文中有介绍怎样在 CentOS7 中安装 GitLab 。文本主要介绍怎样迁移 GtiLab 。

环境

  • CentOS:7.4

  • GitLab:10.6.4

新服务器安装 GitLab

安装方法可以按照上面文章中的步骤,但需要注意的是,新服务器上装的 GitLab 的版本和原服务器的 GtiLab 的版本保持一致。

通过下面的命令可以查看原服务器上的 GitLab 的版本:

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

安装指定版本的命令如下:

yum makecache   # 更新本地YUM缓存
yum install -y gitlab-ce-10.6.4  # 安装指定版本

备份

备份非常的简单,只需要执行下面的命令即可:

gitlab-rake gitlab:backup:create

备份文件存储在目录 /var/opt/gitlab/backups 中。

还原

将文件拷贝到新服务器的 /var/opt/gitlab/backups 目录,并执行下面命令给文件设置权限:

chmod 777 1502357536_2017_08_10_9.4.3_gitlab_backup.tar

执行下面的命令进行恢复:

gitlab-rake gitlab:backup:restore BACKUP=文件编号

比如备份文件的名称为 1615384704_2021_03_10_10.6.4_gitlab_backup.tar,那么文件编号为:1615384704_2021_03_10_10.6.4

中间会有两次这种交互式的提示,输入 yes 让其继续执行就可以还原成功。

如果您的迁移和我一样是由外网服务器迁移到内网服务器,如下图:

有两个地方需要注意:

1、在外网服务器上需要使用 nginx 进行代理访问,配置如下:

server {listen       9000;server_name  221.222.10.56;location / {proxy_pass http://10.15.10.133:9000;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrate";}error_page   500 502 503 504  /50x.html;location = /50x.html {root   /usr/share/nginx/html;}
}
  • listen:外网访问的端口

  • server_name:外网服务器 ip

  • proxy_pass:内网 GitLab 的访问地址

2、默认情况下,内网部署的 GitLab 初始化的访问地址也是内网的地址,在界面中看到仓库地址也是内网地址,如下图:

需要修改 GitLab 的配置文件来进行解决,进入到内网的 GitLab 服务器,执行下面命令编辑配置文件:

vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

修改 host 和 port ,如下图:

执行 gitlab-ctl restart 重启 GitLab 服务生效。

最后

最近有一些朋友在后台私有我,说一些思考总结类的文章挺好,挺有收获,但有些文章在网上可以搜索得到,为什么还会写。

像今天这篇就属于此类,我大概解答下:

我在做这些操作实践时是也是通过了大量的搜索,因为使用场景、软件版本等各方面的原因,往往不能一次性成功,还是需要不断尝试,所以我在写这类文章时在开头就会注明环境。总结成文章写出来后对自己也是一个备忘,同时也希望如果有朋友碰到跟我类似场景的,能够带来直接的帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/303998.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RHEL5下DNS配置详解3

view 是bind中的另外的一个技巧他在有防火墙的环境中非常有用。View允许你呈现出不同的配置文件给不同的客户,当你的服务器既要给内网的用户又要给外网的用户提供查询服务时使用view将是非常方便的。下其实访问控制列表就是一个有名字的地址匹配列表。它的语法格式为…

百叶窗效果显示图片源码(c#)

2019独角兽企业重金招聘Python工程师标准>>> 显示图片: this.pictureBox.Image Image.FromFile("image.jpg", false); 百叶窗有两种显示效果,一种是垂直百叶窗,另一种是水平百叶窗。 实现百叶窗显示图像有两种方式&…

16个顶级思维模型

思维模型会给你提供一种视角或思维框架,从而决定你观察事物和看待世界的视角。顶级的思维模型能提高你成功的可能性,并帮你避免失败。打造多元思维模型想法来自查理芒格,而查理芒格是沃伦巴菲特的得力助手。Farnam Street曾这样描述思维模型&…

使用BeetleX网关对Web应用进行灰度发布

灰度发布可以更有效地保障服务运作的可靠性,即能让服务得以更新的同时也不影响业务动作。BeetleX网关支持全动态化实时配置,对应用进行灰度发布可以说是非常便利。灰度发布在BeetleX网关中涉及到以下:添加新应用服务,测试路由配置&#xff0c…

17道因为太难而被禁用的Google面试题

即使是最成功的公司,它的招聘过程有时也会很不靠谱,经常会出一些奇怪的看似没有答案的面试问题,但标准答案却让应聘者还没来得及接近「起跑线」就被「退赛」了。Google 曾经就是这样的公司,招聘人员会出一些难为应聘者的高质量问题…

在 .NET Core 中构建 REST API

翻译自 Camilo Reyes 2020年8月26日的文章 《Build a REST API in .NET Core》 [1]REST API 可以使用简单的动词(如 POST、PUT、PATCH 等)将大型解决方案背后的复杂性隐藏起来。在本文中,Camilo Reyes 解释了如何在 .NET Core 中创建 REST AP…

一个检查SPN的小工具

如果大家配过kerberos的话会发现,AD本身并没有一个可以检查SPN的工具,而SPN一旦配重复的话会出现奇怪的错误,所以我就写了这么一个简单的工具。 截图 使用时候,输入你要查询的AD的名称或者IP,然后输入一个该域的用户信…

如果把整个因特网都印出来 你认为会怎么样

2019独角兽企业重金招聘Python工程师标准>>> 如果把整个因特网都印出来的话... 将会用掉 4500 万个墨盒,总计五十万公升的墨水。如果把这些墨水换成燃油,足够让747连飞 18,000 英里(28,800 公里),从纽约不降…

ASP.NET Core中间件初始化探究

前言在日常使用ASP.NET Core开发的过程中我们多多少少会设计到使用中间件的场景,ASP.NET Core默认也为我们内置了许多的中间件,甚至有时候我们需要自定义中间件来帮我们处理一些请求管道过程中的处理。接下来,我们将围绕着以下几个问题来简单…

基于Python实现的微信好友数据分析

最近微信迎来了一次重要的更新,允许用户对”发现”页面进行定制。不知道从什么时候开始,微信朋友圈变得越来越复杂,当越来越多的人选择”仅展示最近三天的朋友圈”,大概连微信官方都是一脸的无可奈何。逐步泛化的好友关系&#xf…

java虚拟机和javaGC_Java虚拟机(三):GC算法和种类

一、介绍GC(Garbage Collection),垃圾收集Java中,GC的对象是堆空间和永久区二、GC算法1. 引用计数法老牌垃圾回收算法通过引用计算来回收垃圾Java中未使用,使用者有COM、ActionScript3、Python实现:1> 对于一个对象A&#xff0…

看似简单但容易忽视的编程常识

这些年写了很多的代码、也读过很多的人写的代码,这几年,写代码的机会越来越少,但是每次写代码,感觉需要思考的东西越来越多,好的代码确实难能可贵,在国内业界中,好的软件不少,但是好…

ASP.NET : Kerberos网络认证过程

今天抽时间初略学习了一下kerberos网络认证过程,作为笔记整理如下,希望与大家分享。 一、Kerberos初步定义: Kerberos这一名词来源于希腊神话“三个头的狗——地狱之门守护者”。Kerberos 是一种网络认证协议,其设计目标是通过密钥系统为客户…

MIPS投RISC-V是龙芯新征程的开始

日前,外媒报道MIPS Technologies宣布将放弃继续设计MIPS处理器,转向了RISC-V。在MIPS加盟RISC-V阵营后,有人鼓吹龙芯要完,但事实上,这完全是不了解龙芯具体情况的臆测。特别是在龙芯开发自主指令集LoongArch之后&#…

近期GitHub上最热门的开源项目(附链接)

2 月份 GitHub 上最热门的开源项目又出炉了,又有哪些新的项目挤进热门榜单了呢,一起来看看。1、nocodehttps://github.com/kelseyhightower/nocode Star 16256这是 2 月份新出炉的项目,可以说是 2018 年最火的佛系编程了,这个项目…

fb静态区域_fb 静态数据

在STAT中定义静态变量,并在INITIAL VALUE中设定初始值,静态变量的初始值会自动存如对应的背景数据块中回答者: 天晴09 - 初级工程师&nbsp&nbsp第9级2008-09-10 17:01:08你可以在fb中定义的时候直接输入初始值,也可以在ob…

9年没涨价,上太空……这些树莓派的冷知识你知道多少?

作为最成功的微型计算机,开源的树莓派(Raspberry Pi)在技术圈和学术界一直广受编程爱好者的好评,各路大神基于树莓派制作的新奇设备层出不穷,围绕这款微型计算机已经形成了一种独特的 DIY 文化,相关的开源软…

汇编语言入门教程

学习编程其实就是学高级语言,即那些为人类设计的计算机语言。但是,计算机不理解高级语言,必须通过编译器转成二进制代码,才能运行。学会高级语言,并不等于理解计算机实际的运行步骤。计算机真正能够理解的是低级语言&a…

轻量易用的微信Sdk发布——Magicodes.Wx.Sdk

概述最简洁最易于使用的微信Sdk,包括公众号Sdk、小程序Sdk、企业微信Sdk等,以及Abp VNext集成。名称NugetMagicodes.Wx.PublicAccount.SdkMagicodes.Wx.PublicAccount.Sdk.AspNetMagicodes.Wx.PublicAccount.Sdk.Abp如何贡献?如何快速封装一个…

数学界的高冷之王,N次拒绝巨额奖金:我穷,但是我不缺钱。。。

在现实生活中,你和谁在一起的确很重要,甚至能改变你的成长轨迹,决定你的人生成败。是否还记得,当你跟学霸做同学的时候,你总会莫名其妙跟他一起撸题目;当宿舍其他兄弟正在打游戏的时候,你也想着…