gitlab 安装以及卸载
gitlab 数据迁移全命令
gitlab的webhook实现Jenkins自动部署详细说明
在将旧gitlab服务器上的数据备份迁移到新服务器后,有部分页面访问包500错误。
经验证新服务器在恢复备份数据前,页面均访问正常,问题出现在备份恢复上。
这是由于db_key_base问题导致的。
gitlab默认的备份机制,是不会备份gitlab.rb和gitlab-secrets.json文件的。
gitlab.rb配置了gitlab的域名、邮件发送信息、白名单等相关信息,gitlab-secrets.json文件存储了gitlab的db secret信息。
db_key_base问题正与gitlab-secrets.json文件有关。
解决办法:
方法一、在旧gitlab配置文件未删除的情况下,拷贝gitlab-secrets.json文件到新服务器替换,重启gitlab。
/etc/gitlab/gitlab-secrets.json
重新加载配置文件
gitlab-ctl reconfigure
重启gitlab服务
gitlab-ctl restart
方法二、若旧gitlab配置已删除,可执行以下两组命令重置相关CI的所有密钥和token。
# gitlab-rails console
irb(main):001:0> Ci::Runner.all.update_all(token_encrypted: nil)
重启gitlab服务
# gitlab-rails dbconsole
gitlabhq_production=> UPDATE projects SET runners_token = null, runners_token_encrypted = null;
gitlabhq_production=> UPDATE namespaces SET runners_token = null, runners_token_encrypted = null;
gitlabhq_production=> UPDATE application_settings SET runners_registration_token_encrypted = null;
执行完命令后,\q
退出
重启gitlab服务