官方说明:https://docs.gitlab.com/ee/update/index.html#upgrade-paths
备份
备份配置
1 2 3 4 5 6 7 8 9 10 11
| # 配置相关配置 # vim /etc/gitlab/gitlab.rb # gitlab 访问域名 external_url 'http://xx.xx.xx.xx' # 备份配置 gitlab_rails['manage_backup_path'] = true gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" gitlab_rails['backup_archive_permissions'] = 0644 # 备份有效期,单位为秒,比如如下7天 ,也可以根据自己实际情况来做异地转存 # 这里的有效期是针对本地存储,而非remote storage,比如阿里云的OSS gitlab_rails['backup_keep_time'] = 604800
|
备份
1 2
| #执行一条命令即可完成备份 [root@gitlab ~]# gitlab-rake gitlab:backup:create
|
备份完会提示告警,需要自己备份如下两个文件,恢复的时候也确保有这两份文件
- /etc/gitlab/gitlab.rb
- /etc/gitlab/gitlab-secrets.json
远端备份
从7.4版本支持直接转存本地备份到远程
1 2 3 4 5 6 7 8 9 10
| gitlab_rails['backup_upload_connection'] = { 'provider' => 'Aliyun', 'aliyun_accesskey_id' => 'Access Key', 'aliyun_secretekey_id' => 'Secret Key', 'aliyun_oss_endpoint' => 'http://oss-cn-beijing-internal.aliyuncs.com', 'aliyun_oss_bucket' => 'devops-backup', 'aliyun_oss_location' => 'beijing' } # 对象存储bucket中的子目录 gitlab_rails['backup_upload_remote_directory'] = 'gitlab'
|
参考文档:https://docs.gitlab.com/14.7/ee/administration/object_storage.html
恢复
==注意事项:==
1、恢复的文件必须是在配置的备份路径下,比如这里的 /var/opt/gitlab/backups
2、恢复的时候指定备份的序号,比如 1650586858_2022_04_22_14.1.8_gitlab_backup.tar
这里取1650586858_2022_04_22_14.1.8
3、备份文件的权限必须是 644
4、检查恢复状态 gitlab-rake gitlab:check SANITIZE=true
1 2 3 4 5 6 7
| sudo gitlab-ctl stop unicorn sudo gitlab-ctl stop puma sudo gitlab-ctl stop sidekiq # Verify sudo gitlab-ctl status # restore gitlab-rake gitlab:backup:restore BACKUP=1650586858
|
内存消耗问题
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| #进程超时时间 unicorn['worker_timeout'] = 60 #进程数 unicorn['worker_processes'] = 10 #进程最小内存 200KB unicorn['worker_memory_limit_min'] = "200 * 1 << 20" #进程最大内存 300MB unicorn['worker_memory_limit_max'] = "300 * 1 << 20" #并发数 sidekiq['concurrency'] = 16 #数据库缓存 postgresql['shared_buffers'] = "256MB" #数据库并发数 postgresql['max_worker_processes'] = 8
|
升级步骤
先停止数据写入
如确定没有数据写入,可以不执行以下命令
1 2 3
| sudo gitlab-ctl stop unicorn sudo gitlab-ctl stop puma sudo gitlab-ctl stop sidekiq
|
下载指定的版本
1
| https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
|
更新升级
1
| yum install -y gitlab-ce-xxx.xx
|