gitlab 儲存倉庫目錄設定及資料遷移
阿新 • • 發佈:2021-06-22
設定儲存倉庫資料
預設情況下omnibus-gitlab 將倉庫資料儲存在 /var/opt/gitlab/git-data目錄下,倉庫存放在子目錄 repositories裡面。 以可以通過修改/etc/gitlab/gitlab.rb 的這一行來自定義 git-data 的父目錄
# vim /etc/gitlab/gitlab.rb
# 把註釋取消然後指定新的倉庫儲存位置,需要事先建立好該目錄
git_data_dirs({
"default" => {
"path" => "/server/gitlab-data"
}
})
注: /server/gitlab-data 是新建立的目錄,目標路徑和其子路徑必須不能為軟連結。
設定生效
在沒有資料的情況下
[root@gitlab ~]# gitlab-ctl stop
[root@gitlab ~]# gitlab-ctl reconfigure //使修改生效
在有資料的情況下
如果 /var/opt/gitlab/git-data
目錄已經存在Git倉庫資料, 可以用下面的命令把資料遷移到新的位置
# 準備遷移之前要停止GitLab服務,防止使用者寫入資料。 [root@gitlab ~]# gitlab-ctl stop # 注意 'repositories'後面不帶斜槓,而'/server/gitlab-data'後面是有斜槓的。 [root@gitlab ~]# rsync -av /var/opt/gitlab/git-data/repositories /server/gitlab-data/ # 如果需要修復許可權設定, # 可執行下面的命令進行修復。 [root@gitlab ~]# gitlab-ctl reconfigure # 再次檢查下 /server/gitlab-data 的目錄. 正常情況應該有下面這個子目錄: # repositories [root@gitlab ~]# ls /server/gitlab-data/ repositories # 完工! 啟動GitLab,驗證下是否能 # 通過web訪問Git倉庫。 [root@gitlab ~]# gitlab-ctl start
設定儲存倉庫資料的備用目錄
自GitLab 8.10開始,可以通過在/etc/gitlab/gitlab.rb檔案中新增下面的幾行配置, 來增加多個 git 資料儲存目錄。
git_data_dirs({
"default" => { "path" => "/var/opt/gitlab/git-data" }, //預設儲存目錄
"alternative" => { "path" => " /server/gitlab-data" } //備用儲存目錄
})
備用目錄,顧名思義應該是第一個目錄滿了或者出錯就會使用備用目錄,正常就是滿了