2016-01-13 37 views
0

是否有可能在某些本地服務器上擁有所有存儲庫,並且還可以使用Gitlab(託管在其他本地服務器上)來瀏覽它?使用sshfs將外部存儲庫導入到Gitlab

我使用Gitlab v8.3.3。和我有以下情況:
- 我都保存在本地服務器我的信息庫,說:192.168.5.5/git
- 我也有承載Gitlab,在本地虛擬機:192.168.5.6
- 我安裝我的地方在git的數據目錄的git服務器(這就是倉庫被關押)運行:
sshfs [email protected]:/git /var/opt/gitlab/git-data/repositories/server-group

服務器組是我創建了一個新的組具有相同的名稱時Gitlab創建一個空目錄。

現在我想能夠通過Gitlab瀏覽以這種方式安裝的存儲庫。
這可能嗎?

我相信它應該但它需要一些額外的配置?
當然簡單:gitlab-ctl reconfiguregitlab-ctl restart沒有幫助和Gitlab組server-group有0個項目,即使在它的目錄我有有效的「repos.git」。

回答

1

我通過解決這個問題:
1.使用GitLab API

curl -k --header "PRIVATE-TOKEN: <your_private_token>" -H "Content-Type: application/json" -d '{"name":"<name_here>","path":"<the_same_name_here>","visibility_level":"10","namespace_id":"<id_of_my_group>"}' "https://192.168.5.6/api/v3/projects"


2.安裝我們的資料庫中How can I use GitLab on one server and store all of the repositories on another?(包括更改權限描述具有相同的名稱創建空庫 - 見答案)

1

您需要在GitLab出現之前創建項目。

但是有幾點需要考慮,GitLab期待的回購是裸回購,並且還會期望設置一個HEAD文件。

我的建議是通過從你的git服務器導入每個回購來創建項目。這將爲您的所有提交和分支創建裸回購,並在GitLab數據庫中創建項目。然後,如果您仍想在單獨的服務器上進行回購,可以將GitLab創建的文件夾移動到其他服務器,然後在嘗試時裝入它們。

另外,如果你仍然想試着讓你當前的回購展示,並希望他們工作。 (不知道是否他們會如果他們不裸回購)你可以試試:

  • 卸載,你必須設置
  • 創建空的項目爲每個回購的git的回購,在某種程度上,他們的路徑將符合您目前的回購協議。
  • 將您的git repos重新安裝到創建空白回購站的地方。