2012-03-23 102 views
10

我有一個工作的gitolite服務器。但是,我想將其移至相同的配置,但在更大的機器上。即使我有gitolite工作,我不確定它下面的字符串。主要是它與ssh的關係。移動gitolite服務器

我想只安裝包gitolite,git-core。並移動git用戶的存儲庫目錄。沒有一個鍵需要改變。它是否正確 ? gitolite對當前服務器有什麼配置關係。我正在與Ubuntu合作

我被gl-setup弄得特別困惑,它完成了這項工作,但讓我在這個過程中處於黑暗中。

感謝

回答

9

你需要什麼,也移動你的ssh配置:

~/.ssh/authorized_keys 

由SSH使用和Gitolite配置,以文件:

  • 列表所有授權的公鑰
  • forced-command script相關聯
  • 傳遞正確的用戶名到gitolite腳本

請參閱 「How Gitolite uses ssh


的OP確認是問題,並指出到Gitolite文檔:
moving the whole thing from one server to another」:
(注意:這是'g2'; ie Gitolite V2,但想法與Gitolite V3 or 'g3'相同)

這個過程背後的想法ss將創建一個新的Gitolite實例,然後推送您現有的Gitolite回購協議,其中會自動爲您自動重新聲明新服務器中的所有當前現有密鑰~/.ssh authorized_keys

  • 安裝gitolite。不要擔心在GL-設置步驟中使用的PUBKEY - 比如這會做得很好:
 
    ssh-keygen -q -N '' -f dummy 
    gl-setup -q dummy.pub 
  • 編輯RC文件也有類似設置,以舊。
  • 不要直接複製整個文件 - 某些變量(特別是GL_PACKAGE_CONFGL_PACKAGE_HOOKS)是依賴於安裝的,不應觸摸!
    執行diffvimdiff並僅複製您在舊服務器上更改的內容。
  • 禁用舊服務器,以便您的用戶不會對其進行任何更改。
    有幾種方法可以做到這一點,但最簡單的就是在~/.gitolite.rc舊服務器上的頂部插入此行:
 
    exit 1; 
  • 複製的$REPO_BASE內容在舊服務器到$REPO_BASE在新服務器上。
    默認情況下,如您所知,這些都是$HOME/repositories
  • chown -R將文件複製到正確的用戶,如果您使用根複製。
  • 修復了鉤
 
    gl-setup 
  • 觸發推到管理回購
 
    git clone repositories/gitolite-admin.git /tmp/gitolite-admin 
    cd /tmp/gitolite-admin 
    git commit --allow-empty -m 'trigger compile on new server' 
    gl-admin-push -f 
+1

感謝您的重播。幫助最多的鏈接是 – jeremyvillalobos 2012-03-24 05:47:26

+0

感謝您的重播。幫助最多的鏈接是http://sitaramc.github.com/gitolite/moveserver.html。我必須檢查最新的gitolite才能使用命令gl-admin-push。工作完成了......謝謝 – jeremyvillalobos 2012-03-24 05:55:08

+0

@ user1052943:優秀。我已經將該流程納入了更多知名度的答案中。 – VonC 2012-03-24 09:01:43

13

所述指令已經改變爲Gitolite V3

(從http://gitolite.com/gitolite/rare.html複製):

  1. 在新服務器上安裝gitolite,使用相同的密鑰爲admin 爲舊服務器。

  2. 從舊服務器複製.gitolite.rc文件,覆蓋此文件。

  3. 禁用舊服務器,以免人們推送到它。有幾種方法可以做到這一點,但最簡單的就是在~/.gitolite.rc頂部的舊服務器上插入exit 1;

  4. 在複製所有的回購從舊的服務器,其中包括gitolite-admin。確保文件最終擁有正確的所有權和權限;如果沒有,chown/chmod它們。

  5. 運行gitolite setup

  6. 在舊的gitolite-admin的克隆上,添加一個新的遠程(或更改現有的)以指向新的服務器。然後git push -f到這個遠程。

+0

我在gitolite v3.5.2-5上使用這個程序,它沒有任何問題。 – gontard 2013-09-05 13:29:27