早期gitlab使用gitolite為用戶提供SSH服務,新版gitlab有了更好的解決方案gitlab-shell。安裝新版本是必會涉及gitolite 向 gitlab 遷移,下面是我總結的一些遷移經驗。
第一步,將gitolite複製到gitlab倉庫目錄下
# cp -r /gitroot/gitolite/repositories/* /var/opt/gitlab/git-data/repositories/
執行導入處理程序
# gitlab-rake gitlab:import:repos
上面程序會處理一下目錄結構,例如
進入gitlab web界面,創建倉庫與導入的倉庫同名,這樣就完成了導入工作。
提示 | |
---|---|
轉換最好在git用戶下面操作,否則你需要運行 # chown git:git -R /var/opt/gitlab/git-data/repositories |
預設Gitlab採用主機名,給我使用代理一定麻煩
git@hostname:example.com/www.example.com.git http://hostname/example.com/www.example.com.git
我們希望使用IP地址替代主機名
git@172.16.0.1:example.com/www.example.com.git http://172.16.0.1/example.com/www.example.com.git
編輯 /etc/gitlab/gitlab.rb 配置檔案
external_url 'http://172.16.0.1'
重新啟動Gitlab
# gitlab-ctl reconfigure # gitlab-ctl restart