gitlab宕機沒法再次重啓解決辦法

問題: 在gitlab因爲某些問題掛機,或沒法再次啓動的狀況下,如何將已有項目導出到新的gitlab服務器中git

 

解決:gitlab有本身的備份命令和定時備份配置,可是若是既沒有定時備份,而備份命令在掛機的狀況也沒法執行,這是災難性的時刻,sql

有可能有的項目本地沒有了,大部分狀況多人同時開發,合併代碼會是一個大問題,從git的原理出發,git會爲每一個項目在postgresql中生成一條記錄,而後根據這條記錄指向對應的文件夾,那麼答案就找到了,服務器

操做流程以下:app

1.部署一個新的git服務器ssh

2.在新的gitlab服務器上建相應的項目,注意項目的組和名字必須是同樣的,而後添加README,關於組是什麼概念能夠看圖片紅框,總之和老的gitlab服務名字必須同樣gitlab

3.關鍵的點來了,進入/var/opt/gitlab/git-data/repositories/ 這個路徑, 此時是否是很眼熟了,跟老的服務器上如出一轍,直接刪除掉/var/opt/gitlab/git-data/repositories 目錄下的全部文件,而後替換成老的服務器中該目錄下的全部文件post

4.spa

sudo chown -R git:git /var/opt/gitlab/git-data/repositories/

這個命令比較關鍵,給文件賦予git訪問權限, 從gitlab頁面看,已經能看到這些項目了,已經成功一大半了postgresql

5.在新的gitlab上添加全部的開發人員,並給項目添加開發人員,若是是開發組就更快捷了,看我的喜愛code

6.從gitlab中拉取項目,此時應該會報ssh錯誤,你能夠先用http方式拉取,至於怎麼拉取就不作解釋了,到此一切OK

相關文章
相關標籤/搜索