前言

近日 腾讯云 买的2C4G轻量应用服务器能免费升级到4C4G,想着性能够用就装个Gitlab托管代码吧!

按照官网教程安装好,运行 gitlab-ctl status 查看组件状态,发现和之前了解的不一样。再仔细看官网教程,原来是按照企业版(EE)教程安装的,不是之前熟悉的社区版(CE)。虽然官网说不需要LICENCE也能正常使用,但还是果断卸载了,重新安装了社区版(Gitlab CE)。

可能由于安装过企业版的原因,社区版安装过程中出现了一点小问题的:没有出现初始密码提示;运行 gitlab-ctl status 输出为空。

作为经验丰富的老司机,这都难不倒我。重置root密码简单按照 Gitlab重置用户密码 一文的操作就轻松搞定;至于组件都没运行起来,那肯定是配置错误。运行 gitlab-ctl reconfigure,熟悉的东西又都回来了。

Gitlab更新设置500错误

然而隐患始终是隐患。登陆Gitlab管理后台,更改任何设置,保存都会出现500 error。上网查了一下,有这个问题的还不少。运行 gitlab-ctl tail 查看日志,有如下关键错误输出:

OpenSSL::Cipher::CipherError ():
  
lib/gitlab/crypto_helper.rb:27:in `aes256_gcm_decrypt'

通过这个线索,顺利查到了解决办法:

# 进入rails控制台
gitlab-rails console

# 重置runner的token
settings = ApplicationSetting.last
settings.update_column(:runners_registration_token_encrypted, nil)
settings.update_column(:encrypted_ci_jwt_signing_key, nil)
settings.save!

到此问题解决。

参考

1. Installing GitLab with Omnibus packages

2. Gitlab重置用户密码

3. 处理Gitlab升级时的错误

4. gitlab-error-encryption.md