确认更新步骤

Gitlab 的主版本更新,如果直接升级可能会导致一些问题,所以建议按照官方的文档,逐步升级到目标版本。不然步子迈的大了,容易扯着蛋。

根据官网的介绍,大致需要经历三次的升级才能升级到 14。

准备工作

备份数据和项目

docker exec -t <container name> gitlab-backup create

Dumping database tables:
- Dumping table events... [DONE]
- Dumping table issues... [DONE]
- Dumping table keys... [DONE]
- Dumping table merge_requests... [DONE]
- Dumping table milestones... [DONE]
- Dumping table namespaces... [DONE]
- Dumping table notes... [DONE]
- Dumping table projects... [DONE]
- Dumping table protected_branches... [DONE]
- Dumping table schema_migrations... [DONE]
- Dumping table services... [DONE]
- Dumping table snippets... [DONE]
- Dumping table taggings... [DONE]
- Dumping table tags... [DONE]
- Dumping table users... [DONE]
- Dumping table users_projects... [DONE]
- Dumping table web_hooks... [DONE]
- Dumping table wikis... [DONE]
Dumping repositories:
- Dumping repository abcd... [DONE]
Creating backup archive: $TIMESTAMP_gitlab_backup.tar [DONE]
Deleting tmp directories...[DONE]
Deleting old backups... [SKIPPING]

以防万一记得备份一下这两个配置文件:

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

更多内容可以查看官方文档

拉取目标版本镜像

git pull gitlab/gitlab-ce:13.12.15-ce.0

备份好 Gitlab 后,可以停止当前版本的容器,然后修改 docker-compose.yml 中的镜像 tag,将 tag 修改为最新拉取的 tag。

然后执行:

docker-compose up -d

运行批量迁移

在升级过程中的某些版本变动比较大,比如数据结构变更,所以 Gitlab 在管理后台新增了迁移进度查看的页面。

查看迁移进度

总结

本文只是简单的介绍大致的升级流程,因为升级过程中严格按照官方文档操作,因此没有翻车,如果有翻车的小伙伴可以参考官方的文档进行 Rollback。

I hope this is helpful, Happy hacking…