gitlab-ee 13.x->14.x->15.x->16.x升级踩坑记

这篇具有很好参考价值的文章主要介绍了gitlab-ee 13.x->14.x->15.x->16.x升级踩坑记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

安装-升级

升级时需要打开如下网址规划路径:
https://gitlab-com.gitlab.io/support/toolbox/upgrade-path/?current=13.3.9&distro=centos&auto=true
导入gitlab官方软件仓库
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash

自检查

gitlab-rake gitlab:check SANITIZE=true

列出后台是否存在正在运行的migration

gitlab-rake db:migrate:status
gitlab-rake db:migrate

备份

gitlab-rake gitlab:backup:create
ls /var/opt/gitlab/backups

恢复

cp ${tar} /var/opt/gitlab/bakcups/
gitlab-ctl stop unicorn
gitlab-ctl stop puma
gitlab-ctl stop sidekiq
gitlab-rake gitlab:backup:restore BACKUP=1704745822_2024_01_09_13.4.1-ee
gitlab-ctl reconfigure

卸载

gitlab-ctl stop
rpm -e gitlab-ee-${version}-ee.0.el8.x86_64.rpm
rm -rf /etc/gitlab
rm -rf /opt/gitlab
rm -rf /var/opt/gitlab
rm -rf /var/log/gitlab
rm -rf /run/gitlab

升级过程中遇到问题一般解决方案

1、数据库migrate失败(频率最高)

   查看caused by原因,手动解决问题后,执行:gitlab-rake db:migrate
   执行完毕后,输入:gitlab-rake db:migrate:status以查看迁移状态
  **注意:最好按提示one-by-one执行,即执行gitlab-rake db:migrate后看报错,然后解决报错,再执行gitlab-rake db:migrate,直到全部成功**
   全部迁移完成后下执行:gitlab-ctl reconfigure

2、提示restart某个组件以启用新版版本
按提示执行即可,也可全部重启,按个人喜好

3、升级过程中由于没有执行2,导致数据库migrate失败,启动组件超时
可以先重启gitlab: gitlab-ctl restart
若数据库迁移失败,参考问题1
若启动组件超时,重新配置即可:gitlab-ctl reconfigure
最后 重启gitlab: gitlab-ctl restart

升级到13.8.8遇到的问题

PG::DuplicateTable: ERROR: relation “public.postgres_indexes” already exists

sudo -u gitlab-psql /opt/gitlab/embedded/bin/psql -h /var/opt/gitlab/postgresql -d gitlabhq_production
DROP VIEW public.postgres_indexes;
exit;

PG::DuplicateTable: ERROR: relation “postgres_index_bloat_estimates” already exists

sudo -u gitlab-psql /opt/gitlab/embedded/bin/psql -h /var/opt/gitlab/postgresql -d gitlabhq_production
Drop view public.postgres_index_bloat_estimates;
exit;

最后

gitlab-ctl reconfigure

升级到14.3.6遇到的问题

Expected batched background migration for the given configuration to be marked
as ‘finished’, but it is ‘active’:
sudo gitlab-rake gitlab:background_migrations:finalize[CopyColumnUsingBackgroundMigrationJob,ci_builds,id,‘[[“id”, “stage_id”], [“id_convert_to_bigint”, “stage_id_convert_to_bigint”]]’]
Expected batched background migration for the given configuration to be marked as ‘finished’, but it is ‘active’: {:job_class_name=>“CopyColumnUsingBackgroundMigrationJob”, :table_name=>“ci_stages”, :column_name=>“id”, :job_arguments=>[[“id”], [“id_convert_to_bigint”]]}
Finalize it manualy by running

sudo gitlab-rake gitlab:background_migrations:finalize[CopyColumnUsingBackgroundMigrationJob,ci_stages,id,'[["id"]\, ["id_convert_to_bigint"]]']

Expected batched background migration for the given configuration to be marked as ‘finished’, but it is ‘active’: {:job_class_name=>“CopyColumnUsingBackgroundMigrationJob”, :table_name=>“ci_builds_metadata”, :column_name=>“id”, :job_arguments=>[[“id”], [“id_convert_to_bigint”]]}
Finalize it manualy by running

sudo gitlab-rake gitlab:background_migrations:finalize[CopyColumnUsingBackgroundMigrationJob,ci_builds_metadata,id,'[["id"]\, ["id_convert_to_bigint"]]']

Expected batched background migration for the given configuration to be marked as ‘finished’, but it is ‘active’: {:job_class_name=>“CopyColumnUsingBackgroundMigrationJob”, :table_name=>“push_event_payloads”, :column_name=>“event_id”, :job_arguments=>[[“event_id”], [“event_id_convert_to_bigint”]]}
Finalize it manualy by running

sudo gitlab-rake gitlab:background_migrations:finalize[CopyColumnUsingBackgroundMigrationJob,push_event_payloads,event_id,'[["event_id"]\, ["event_id_convert_to_bigint"]]']

migrate后需要执行

gitlab-ctl reconfigure

升级到14.9.5

gitlab-ctl restart

升级到15.4.6遇到的问题

大规模升级依赖文章来源地址https://www.toymoban.com/news/detail-815638.html

gitlab-ctl restart

升级到16.1.5遇到的问题

gitlab-ctl restart

升级到16.3.6遇到的问题

gitlab-ctl restart

升级到16.7.0遇到的问题

gitlab-ctl restart

到了这里,关于gitlab-ee 13.x->14.x->15.x->16.x升级踩坑记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • GitLab-ce版本升级(14.0-14.10)

    GitLab 存在命令注入漏洞,该漏洞源于未经授权的用户可能使用以下命令在服务器上执行任意代码 项目导入功能。以下产品版本受到影响:14.10.5 之前的 14.0、15.0.4 之前的 15.0 和 15.1.1 之前的 15.1 开始的所有版本。 因服务器处于内网环境,使用RPM包进行手动升级 创建备份文件

    2024年02月07日
    浏览(47)
  • gitlab备份-迁移-升级方案9.2.7升级到15版本最佳实践

    背景 了解官方提供的版本的升级方案 参考资料 1. 数据备份 2.迁移恢复 #忽略其他环境,建议使用centos7版本,方便后期升级 2.1 下载rpm包,方便后期升级 查看原来系统的版本 2.1 恢复初始环境 注意修改配置 gitlab.rb 2.2 恢复旧数据 cd 备份目录下 2.3 版本升级 配置yum源 开始升级

    2024年01月25日
    浏览(47)
  • 解决内网GitLab 社区版 15.11.13项目拉取失败

    unable to access \\\'https://github.comxxxxxxxxxxx\\\': Failed to connect to xxxxxxxxxxxxx Git clone error - Invalid argument  error:14077438:SSL routines:SSL23_GET_S 关闭ssl验证

    2024年02月11日
    浏览(38)
  • 升级还是不升级?iPhone 15和iPhone 14 Plus性能比较

    预览iPhone 15 Pro Max与三星Galaxy S23 Ultra之战是有正当理由的。显然,三星的旗舰智能手机为2023年的所有其他旗舰产品定下了基调——由于其超长的电池寿命和一流的摄像头,证明了它是最受欢迎的产品。 毫不奇怪,Galaxy S23 Ultra不仅是最好的照相手机之一,也是花钱能买到的最

    2024年02月11日
    浏览(45)
  • 16.1 Socket 端口扫描技术

    端口扫描是一种网络安全测试技术,该技术可用于确定对端主机中开放的服务,从而在渗透中实现信息搜集,其主要原理是通过发送一系列的网络请求来探测特定主机上开放的 TCP/IP 端口。具体来说,端口扫描程序将从指定的起始端口开始,向目标主机发送一条 TCP 或 UDP 消息

    2024年02月08日
    浏览(88)
  • 1.13|1.14|1.15|1.6、GDB调试

    输入这两条命令,第一条用于 生成 调式代码,第二条 运行 调试代码 test.c 需要与被调试的代码 test 在 同一个目录 下 list 默认显示 main 函数 ①用list查看代码 list 行号 ,显示 行号上下文 代码 list 函数名 ,表示显示 函数名上下文 的代码 list 文件名:行号 查看非当前文件的代

    2023年04月23日
    浏览(74)
  • 苹果mac电脑怎么升级?10.13系统怎么升级?苹果电脑怎么升级10.15系统?

    苹果mac电脑的轻薄与不卡是有目共睹的,像苹果手机一样都是苹果公司独立自主的系统!老旧的苹果笔记本不管是air还是pro或book,老系统用内置的更新升级只能升级到10.13系统,而很多软件app已经不支持10.13系统的安装,例如钉钉等推荐系统10.14,像腾讯视频app等需要的是10

    2024年03月13日
    浏览(62)
  • 如何在没有密码的情况下将 iPhone 13/14/15 恢复出厂设置

    您想知道如何在没有密码的情况下将 iPhone 13/14/15 恢复出厂设置吗? 出厂重置 iPhone 13/14/15 成为所有 iPhone 机型中最简单的。大多数情况下,iPhone 13/14/15 是在 iOS 15 或更高版本的 iOS 版本上,Apple 更新了无需密码重置 iPhone 13/14/15 的程序,提供了一种更简单的方法来擦除你的

    2024年01月25日
    浏览(50)
  • 文件上传漏洞--Upload-labs--Pass13&&14&&15--图片马

    顾名思义,图片马即 图片 + 木马。将恶意代码插入图片中进行上传,绕过白名单。 图片马制作流程: 1、在文件夹中打开 cmd,输入指令。 /b:二进制、 /a:追加。即将 test.php 追加到 test.jpg 中生成新图片 new.jpg。 1、首先进行代码审计,源代码中使用白名单,判断文件类型,

    2024年02月22日
    浏览(50)
  • 安装 opendr 踩坑记

    复现早期的优化算法需要用到opendr,踩坑一天记录!!! python 3.8.15 numpy=1.23.0 mayavi=4.8.1 chumpy=0.70 cpython=3.0.0 安装opendr命令1:安装的版本是0.78 截止目前我还找不到答案! 安装opendr命令2 参考链接中的手动安装,安装的是opendr版本是0.77 安装opendr命令3 报错依旧 我这个环境是重

    2024年02月14日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包