Git升級
- 升級前準備
- 確認當前版本
-
- 備份gitlab數據與配置文件
執行備份元數據命令:
>12.1版本執行:
gitlab-backup create
<=12.1版本執行:
/opt/gitlab/bin/gitlab-rake gitlab:backup:create
執行完後備份文件在:/var/opt/gitlab/backups 目錄下
執行備份配置文件命令(確保/secret/gitlab/backups/文件夾一定存在):
gitlab-ctl backup-etc && cd /etc/gitlab/config_backup && cp $(ls -t | head -n1) /home/gitlab/backups/
-
- 確認升級路線:
打開https://gitlab-com.gitlab.io/support/toolbox/upgrade-path
輸入當前版本號,找不到就找最近的版本號確認升級版本路線
按照版本依次下載對應操作系統rpm包安裝即可
倉庫地址:https://packages.gitlab.com/gitlab/gitlab-ce (如果該源用不了可使用清華源https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/)
可手動下載也可使用下圖命令下載
PS:升級前需要關注每個升級版本的注意事項,可以上官網查看
網址:https://archives.docs.gitlab.com/15.11/omnibus/update/gitlab_12_changes.html
- 升級
在安裝較新的GitLab版本之前,將備份GitLab數據庫。您可以通過在/etc/gitlab/skip自動備份中創建一個空文件來跳過此自動數據庫備份:
sudo touch /etc/gitlab/skip-auto-backup
注意:執行該動作前一定自行完整備份,如未備份則可忽略該步。因爲升級會自動備份。
-
- 停止服務
執行檢查組件是否正常命令:
gitlab-rake gitlab:check
官網並沒有說升級前需要停止服務。不過參考網上方案
只用停止部分服務即可
>13.0版本執行:
gitlab-ctl stop puma
gitlab-ctl stop sidekiq
gitlab-ctl stop nginx
<13.0版本執行:
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-ctl stop nginx
備份配置文件:
請手動備份/etc/gitlab目錄下所有文件,特別是gitlab.rb和gitlab-secrets.json
cp -r /etc/gitlab/* /home/gitlab-etc-back
-
- 執行rpm升級
執行命令,package_name爲升級路線中的rpm包
# RHEL/CentOS 7 and Amazon Linux 2
rpm -Uvh <package_name>
理論上每次執行都會備份數據文件,如果不想備份參考網上要求。配置文件最好每次都備份。
-
- 重載配置、重啓
執行命令:
gitlab-ctl reconfigure
gitlab-ctl restart
可以刷新頁面重新登錄 提交 拉取試下git行不行了
同理升級到 16版本一樣的
升級以後如果訪問出現500頁面,可能是數據庫關係遷移失敗導致的:
1.執行 gitlab-rake db:migrate:status 查看,如果有down狀態的,則執行步驟2
2.gitlab-rake db:migrate 升級數據庫關係
3.重複步驟1,如果全部up,則執行 gitlab-ctl reconfigure