阿里云的服务器要到期了, 刚好去年在腾讯云活动期买了一个服务器, 3年1400多, 2核-4g, 不想浪费资源, 就打算把阿里云服务器中gitlab迁移到腾讯云服务器上

gitlab迁移数据需要你两个gitlab服务版本相同, 这里相同是指版本号和版本(企业ee还是社区ce),所以新的gitlab服务要根据当前gitlab服务搭建,我使用的os是centos7

查看当前的gitlab服务版本方法, 域名加上"/help"路径, 比如http://git.xxxxxx.com/help

当我知道版本之后,可以去gitlab提供的网址查找

Manually Downloading and Installing a GitLab Package​docs.gitlab.com

这里我的gitlab社区版,版本号是11.10.2,选择gitlab ce

使用搜索功能可以很快找到11.10.2

我选择了第一个

这里有两个红框, 第一个是教你在把gitlab ce源加到系统中, 第二是安装当前版本的gitlab

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo yum install gitlab-ce-11.10.2-ce.0.el7.x86_64

按步骤执行,在提示安装,这样新的gitlab就能安装成功

在安装完成新的gitlab服务之后, 要去老的服务上备份数据以便迁移到新的服务,具体也可以看文档

Backing up and restoring GitLab​docs.gitlab.com

文档中提供了源码安装备份、docker安装备份,还有安装包安装备份, 因为我使用的是安装包安装,所以这里说的是安装包备份

gitlab-rake gitlab:backup:create

备份文件将以tar格式备份到/var/opt/gitlab/backup路径下

名字为1562040158_2019_07_02_11.10.2_gitlab_backup.tar就是这次备份的, 名字是以当前日期拼成的方便查找,备份的路径和名字都是自定义(还可以传到一些云平台的储存对象中),大家可以看看文档,

这里我遇到了麻烦, 服务器硬盘空间不足导致备份失败, 因为备份文件太大了, 没完成时就已经5g。一看git中很多没有用的数据,幸好gitlab支持选择备份

gitlab-rake gitlab:backup:create SKIP=builds,uploads,artifacts,lfs,registry,pages 

这里放弃备份了builds,uploads,artifacts,lfs,registry,pages, 下面是这几个参数代表什么

最后把备份文件变成了2.1g

在备份完成之后,需要将备份文件复制到新的服务器上, 一开始使用scp,但是这两台服务器带宽小,复制很慢,这时想到了阿里云的oss, 因为备份所在的服务器就是阿里云的, 把备份上传到oss中应该会很快, 而oss是储存对象下载速度也不会很慢, 这样做还可以跳出带宽限制。看了一下文档有收费,相对来说便宜,就几毛钱。其实应该可以直接备份到oss上的,我没有试这里不讲了。

oss的文档

概述_命令行工具ossutil_常用工具_对象存储 OSS-阿里云​help.aliyun.com

这里我使用的ossutil, 就是oss的命令行工具,直接wget下载

wget http://gosspublic.alicdn.com/ossutil/1.6.3/ossutil64

赋权限

chmod 755 ossutil64

按提示配置

./ossutil64 config

需要配置access key, secret(在安全信息管理找到), endpoint(oss控制台查找),endpoint一定要配置“ECS 的经典网络访问(内网)”

使用appendformfile命令上传到oss, 速度7m/s左右

./ossutil64 appendfromfile /var/opt/gitlab/backups/1562040158_2019_07_02_11.10.2_gitlab_backup.tar  oss://xxxxx/1562040158_2019_07_02_11.10.2_gitlab_backup.ta

然后我将备份从oss下载到了本地, 速度在5m/s左右

我在将备份传到腾讯云的服务器中(新的gitlab),发现了腾讯云scp复制的时候也很快,带宽限制不好, 速度在2m/s

我们还有将备份复制到新的gitlab服务器下,进行restore

cp 1562040158_2019_07_02_11.10.2_gitlab_backup.tar /var/opt/gitlab/backups/
cd /var/opt/gitlab/backups/
sudo chown git.git ./1562040158_2019_07_02_11.10.2_gitlab_backup.tar

停止一些服务, 中断某些连接

sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq

可以用查看这两个服务是否终止

sudo gitlab-ctl status

还原备份

sudo gitlab-rake gitlab:backup:restore BACKUP=1562040158_2019_07_02_11.10.2

这里去掉备份名字的_gitlab_backup.tar

按照提示进行操作, 在将域名改过来

vim /etc/gitlab/gitlab.rb

将文件中的external_url改成你的gitlab的url,

重启gitlab服务

sudo gitlab-ctl restart

最后别忘记了,把域名指到服务器上

最后在我沾沾自喜时候,本以为搞定了才发现ci/cd的配置页报了500

ActionView::Template::Error ():25:     project_clusters_path(@project),26:     class: 'btn btn-info'27:   %hr28:   = render partial: 'ci/runner/how_to_setup_runner',29:            locals: { registration_token: @project.runners_token,30:                      type: 'specific',31:                      reset_token_url: reset_registration_token_namespace_project_settings_ci_cd_
path }lib/gitlab/crypto_helper.rb:27:in `aes256_gcm_decrypt'
app/models/concerns/token_authenticatable_strategies/encrypted.rb:45:in `get_token'
app/models/concerns/token_authenticatable_strategies/base.rb:33:in `ensure_token!'
app/models/concerns/token_authenticatable.rb:43:in `block in add_authentication_token_field'
app/models/project.rb:1543:in `runners_token'
app/views/projects/runners/_specific_runners.html.haml:28:in `_app_views_projects_runners__specific_runn
ers_html_haml__234361673848007128_70078833608300'
app/views/projects/runners/_index.html.haml:8:in `_app_views_projects_runners__index_html_haml__31167800
35569937812_70078832007340'
app/views/projects/settings/ci_cd/show.html.haml:42:in `_app_views_projects_settings_ci_cd_show_html_ham
l__1867383084659381760_70078907269380'
app/controllers/application_controller.rb:116:in `render'
lib/gitlab/i18n.rb:55:in `with_locale'
lib/gitlab/i18n.rb:61:in `with_user_locale'
app/controllers/application_controller.rb:434:in `set_locale'
lib/gitlab/middleware/multipart.rb:103:in `call'
lib/gitlab/request_profiler/middleware.rb:16:in `call'
lib/gitlab/middleware/go.rb:20:in `call'
lib/gitlab/etag_caching/middleware.rb:13:in `call'
lib/gitlab/middleware/correlation_id.rb:16:in `block in call'
lib/gitlab/correlation_id.rb:15:in `use_id'
lib/gitlab/middleware/correlation_id.rb:15:in `call'
lib/gitlab/middleware/read_only/controller.rb:40:in `call'
lib/gitlab/middleware/read_only.rb:18:in `call'
lib/gitlab/middleware/basic_health_check.rb:25:in `call'
lib/gitlab/request_context.rb:26:in `call'
lib/gitlab/metrics/requests_rack_middleware.rb:29:in `call'
lib/gitlab/middleware/release_env.rb:13:in `call'

后来才注意到官方文章中给出两个需要迁移的文件

/etc/gitlab/gitlab-secrets.json
/etc/gitlab/gitlab.rb

解决GitLab在恢复备份后打开『集成』页面时报错500的问题 - Untitled Spot_未命名小站​untitled.pw

参考了上述博客, 复制到对应新服务的位置,重新配置重启, 不要忘记更新地址

gitlab-ctl reconfigure && gitlab-ctl restart

gitlab查看word文档_gitlab迁移相关推荐

  1. 如何用c语言word文件页数,如何快速查看word文档中字数、页数等信息?()

    相关题目与解析 如何快速查看word文档中应用了标题样式的段落文本 在Word2003中,使用"字数统计"功能不能够完成().A.脚注和尾注的个数统计B.整篇文档的字数统 如何快速 ...

  2. word 技巧之一:给word文档添加目录、查看word文档结构图

    当需要给word文档添加目录时,当需要查看word文档结构图(即左边显示目录--点击目录,右边自动跳转至目录所在页)时, 第一步,你需要先把希望显示的文字,设置其样式为"标题",才 ...

  3. 在线查看word文档

    页面代码: <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"& ...

  4. 查看word文档的修改痕迹

    方法一:比较文档 首先将修改前后的文档分别保存,然后打开Word,点击[审阅]-[比较]按钮. 找到要比较的文档 就出来修改过的地方 方法二:并排查看 首先打开修改前后的两个文档,在任意一个文档中,单 ...

  5. word审阅功能、查看word文档的好姿势

  6. Android 使用模板生成Word文档,支持手机直接查看word

    最近在项目工作中,碰到一个很棘手的需求,说是要在手机端根据模板生成word文档,而且不借助第三方的软件可以查看word文档,一开始听这个需求差不多蒙了,这要怎么做,为什么不把生成word文档这个工作放 ...

  7. python 读取word_教你怎么使用 Python 对 word文档 进行操作

    使用Python对word文档进行操作 一.安装Python-docx Python-docx是专门针对于word文档的一个模块,只能读取docx 不能读取doc文件.说白了,python就相当于wi ...

  8. 文档预览 OfficeWebViewer:在浏览器中查看Office文档

    Office Web Viewer:在浏览器中查看Office文档 由办公室团队 即使您的读者没有安装Office,您的网站或博客上是否也有要阅读的Office文档?您宁愿先查看文档再下载吗?为了给您 ...

  9. php实现word文档在线浏览功能,配置安装手记

    欢迎加入php架构师之旅 群:410028331(招纳贤人-大师中)方便技术的交流 一般类似oa或者crm等管理系统可能都会遇到需要再线查看word文档的功能,类似百度文库. 记得去年小组中的一个成员 ...

  10. 如何免费将excel表格转换成Word文档?

    Excel能转成Word吗?有时为了日常工作的需求,可能会需要将表格转成其他格式的文档,比如Word,那么Excel应该如何操作才能转换成Word文档呢?一起来看看. 方法1:首先用极速表格打开Exc ...

最新文章

  1. AntD02 Table组件的使用
  2. Linux驱动编程 step-by-step (九)字符设备模拟pipe的驱动程序
  3. ***快速理解Docker - 容器级虚拟化解决方案
  4. 与其纠结,不如放弃!
  5. java文件乱码 环境变量_JAVA安装后,环境变量的PATH被我改了,后来发现改错了,但是不知道怎么改回去了,就是一堆乱码的...
  6. Bugku CTF Web 滑稽 计算器 GET POST 矛盾 alert 你必须让他停下
  7. php 调用reboot,Linux命令:reboot命令
  8. 7天从代码入门到开发应用,怎样快速提高代码能力?
  9. oracle 中递归查询的使用
  10. 酒店订房管理系统2.0 优化版
  11. GsonFormat的安装及使用
  12. 后端常用数据库的使用MongoDB, Redis, Mysql
  13. 数字通信——第一章 绪论
  14. 如何解决HTML网页中文显示乱码
  15. 键盘录入两个整数,分别赋值给int变量x,y然后比较x和y的大小
  16. 【设计模式】牛市股票还会亏钱 --- 外观模式
  17. 基于网络媒介的交互设计研究
  18. 机器语言对不同型号的计算机来说一般是不同的
  19. 服务器加载局域网硬盘,大师练习win7系统电脑添加网络驱动器和局域网服务器硬盘的还原教程...
  20. 关于QQ空间相册功能的构想与简单实现

热门文章

  1. 一份数据工程师必备的学习资源,干货满满(附链接)
  2. Spring Boot 整合监听器
  3. 随机变量的数字特征(期望、方差、标准差、矩、协方差...)
  4. fzu2181(点的双连通分量+求奇环)
  5. 文件缓存、内存缓存与静态化页面的取舍
  6. Centos系统设置
  7. C++程序设计-第十周循环结构程序设计上机实践项目
  8. (Oracle、SqlServer、Access)数据库开发代码生成工具SharpCode2.0
  9. 顺序堆栈实现数制转换以十进制数转化为八进制数为例
  10. python打包成exe文件