You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于Bitnami GitLab 8.9.6迁移至最新GitLab CE omnibus的技术咨询

我之前帮团队处理过类似的Bitnami GitLab迁移升级需求,结合官方最佳实践,给你整理一套可行的方案——因为你的版本跨度极大(8.9.6到最新版),且Bitnami停止了CentOS安装器支持,直接升级走不通,所以我们采用**「备份旧数据 + 部署全新Omnibus环境 + 导入数据自动升级」**的路径:

一、先做好旧环境的完整备份

这一步绝对不能省,避免迁移过程中数据丢失:

  • 备份Git仓库数据:Bitnami GitLab的仓库默认存在/opt/bitnami/gitlab/data/repositories,用tar打包:
    tar -czf gitlab_repos_backup.tar.gz /opt/bitnami/gitlab/data/repositories
    
  • 备份外部数据库:根据你用的数据库类型执行备份命令:
    • PostgreSQL:
      pg_dump -U gitlab gitlabhq_production > gitlab_db_backup.sql
      
    • MySQL/MariaDB:
      mysqldump -u gitlab -p gitlabhq_production > gitlab_db_backup.sql
      
  • 备份关键配置文件:把Bitnami的GitLab配置目录打包,方便后续提取核心配置:
    tar -czf gitlab_config_backup.tar.gz /opt/bitnami/gitlab/config
    

二、部署全新的GitLab CE Omnibus环境

  1. 按照对应系统的官方方式安装最新版Omnibus(比如CentOS用yum、Ubuntu用apt),安装完成后先启动一次确认基础服务正常,然后停止服务:
    gitlab-ctl stop
    
  2. 暂时不要执行gitlab-ctl reconfigure,等我们导入数据后再配置。

三、迁移数据到新环境

1. 迁移仓库数据

  • 把旧环境的gitlab_repos_backup.tar.gz传到新服务器,解压到Omnibus的仓库默认路径:
    tar -xzf gitlab_repos_backup.tar.gz -C /var/opt/gitlab/git-data/
    
  • 修正权限,确保GitLab运行用户git能访问:
    chown -R git:git /var/opt/gitlab/git-data/repositories
    

2. 导入数据库

  • 先在新环境创建对应的数据库和用户(以PostgreSQL为例):
    gitlab-psql -c "CREATE USER gitlab WITH PASSWORD '你的数据库密码';"
    gitlab-psql -c "CREATE DATABASE gitlabhq_production OWNER gitlab;"
    
  • 导入旧数据库备份:
    psql -U gitlab gitlabhq_production < gitlab_db_backup.sql
    

3. 配置新环境的GitLab

  • 编辑Omnibus的主配置文件/etc/gitlab/gitlab.rb,从旧配置备份中提取核心参数(比如外部数据库连接、域名、SMTP设置),填入对应的配置项,示例:
    external_url 'https://你的GitLab域名.com'
    # 数据库配置(根据你实际用的数据库修改)
    gitlab_rails['db_adapter'] = 'postgresql'
    gitlab_rails['db_host'] = '你的外部数据库地址'
    gitlab_rails['db_port'] = 5432
    gitlab_rails['db_username'] = 'gitlab'
    gitlab_rails['db_password'] = '你的数据库密码'
    gitlab_rails['db_database'] = 'gitlabhq_production'
    # 其他配置比如SMTP、LDAP等,从旧配置中对应迁移
    
  • 执行配置生效:
    gitlab-ctl reconfigure
    

四、执行自动升级并验证

  1. 启动GitLab服务:
    gitlab-ctl start
    
  2. 观察升级日志,GitLab会自动处理从8.9.6到最新版的所有数据库schema迁移:
    tail -f /var/log/gitlab/gitlab-rails/production.log
    
    耐心等待迁移完成,这个过程可能会比较久(因为版本跨度大),别中途中断服务。
  3. 功能验证:
    • 登录GitLab后台,检查用户、项目、仓库是否完整显示
    • 测试提交代码、创建Issue、合并请求等核心功能,确保一切正常
    • 检查CI/CD配置(如果有的话)是否能正常运行

关键注意事项

  • 数据库版本兼容性:最新版GitLab对数据库版本有要求(比如PostgreSQL需要12+),如果你的旧外部数据库版本过低,需要先单独升级数据库,再导入备份
  • 资源充足性:迁移过程会消耗大量CPU和内存,确保新服务器有足够的资源,避免迁移失败
  • 备份验证:迁移前一定要检查备份文件的完整性,比如解压仓库备份看看文件是否齐全,数据库备份可以在本地测试导入

内容的提问来源于stack exchange,提问作者maestromani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:27:10