sameersbn和gitlab-ce相比 sameersbn是为docker打造的,并且没有集成redis等组件 理论性能更佳
https://docs.gitlab.com/ee/update/
https://github.com/sameersbn/docker-gitlab#upgrading
https://docs.gitlab.com/ee/raketasks/backup_restore.html#reset-runner-registration-tokens
https://docs.gitlab.com/ee/policy/maintenance.html#upgrade-recommendations
目录
参考文档
升级文档
版本升级
修复文档
版本对照
版本
升级顺序
开始操作
还原备份(sameersbn )
重置更新数据库(sameersbn )
特殊情况使用(gitlab-ce/sameersbn)
检查环境和配置是否正确
升级数据库
清除缓存
查看数据库
应用从新配置
重置操作(根据自己的需要)
进入控制台
禁用用户两因素身份验证
重置 CI/CD 变量
检查表
删除表
重制runner registration tokens
清除项目、组和整个实例的所有令牌:
重置挂起的管道作业
阻断表修复集成项目
k8s健康检测
git 13.7.1
PostgreSQL 12.3 直接升到最新就OK了
官方要求对应关系
GitLab version Minimum PostgreSQL version
10.0 9.6
13.0 11
14.0 12
官方推荐顺序13.12.Z->最新14.0.Z-> 14.1.Z->最新14.Y.Z
我的升级顺序 13.9.2 -> 13.12.9 -> 14.0.7 -> 14.1.2
#推荐先升到当前大版本的最高小版本再升到下个大版本的第一个小版本
2.entrypoint.sh app:rake gitlab:backup:restore BACKUP=1628614836_2021_08_10_13.7.1
1.entrypoint.sh app:rake db:setup
3.entrypoint.sh app:rake db:migrate
gitlab-rake gitlab:env:info
entrypoint.sh app:rake gitlab:env:info
#检查,检查结果会告诉你如何纠正错误。 gitlab-rake gitlab:check
entrypoint.sh app:rake gitlab:check
gitlab-rake db:migrate
entrypoint.sh app:rake db:migrate
gitlab-rake cache:clear
entrypoint.sh app:rake cache:clear
gitlab-rake db:migrate:status
entrypoint.sh app:rake db:migrate:status
sudo gitlab-ctl reconfigure
检查有没有不能解密的
rake gitlab:doctor:secrets RAILS_ENV=production
gitlab-rails dbconsole
./rails dbconsole
entrypoint.sh app:rails dbconsole -e production
*
sudo gitlab-rails dbconsole rails dbconsole -e production
SELECT * FROM public."ci_group_variables"; SELECT * FROM public."ci_variables";
DELETE FROM ci_group_variables; DELETE FROM ci_variables;
进入控制台 sudo gitlab-rails dbconsole sudo -u git -H bundle exec rails dbconsole -e production
-- Clear project tokens UPDATE projects SET runners_token = null, runners_token_encrypted = null; -- Clear group tokens UPDATE namespaces SET runners_token = null, runners_token_encrypted = null; -- Clear instance tokens UPDATE application_settings SET runners_registration_token_encrypted = null; -- Clear key used for JWT authentication -- This may break the $CI_JWT_TOKEN job variable: -- https://gitlab.com/gitlab-org/gitlab/-/issues/325965 UPDATE application_settings SET encrypted_ci_jwt_signing_key = null; -- Clear runner tokens UPDATE ci_runners SET token = null, token_encrypted = null;
Reset pending pipeline jobs
sudo gitlab-rails dbconsole sudo -u git -H bundle exec rails dbconsole -e production
-- Clear build tokens UPDATE ci_builds SET token = null, token_encrypted = null;
TRUNCATE web_hooks CASCADE;
配置了monitoring_whitelist白名单
livenessProbe:
failureThreshold: 3
httpGet:
path: /-/liveness
port: 80
scheme: HTTP
initialDelaySeconds: 180
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 5
readinessProbe:
failureThreshold: 3
httpGet:
path: /-/readiness?all=1
port: 80
scheme: HTTP
initialDelaySeconds: 100
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
手动调试使用的
curl 'https://gitlab.example.com/-/liveness' curl 'http://127.0.0.1/-/liveness'
密钥文件需要一同拷贝过来 secrets.yml
#注每升级完一个版本后 都需要上来等待 列队升级完成。
工作繁忙暂时就先随手写这么多吧