鑒于安全原因,決定將云端代碼庫(托管)全部移到局域網(wǎng)本地庫。
已有資源:
centoos 7.6
群暉NAS
由于群暉以SMB共享給centos,設置過程帶來無數(shù)大大小小的坑?;藘商鞎r間記錄下來,分享給需要的童鞋。對于網(wǎng)上能搜到的清楚的過程,僅簡單記錄命令,不再贅述,重點在于會出現(xiàn)的各種坑。
坑一、centos7.6重啟后無法自動連接網(wǎng)絡
這個據(jù)說是centos7以“安全”為由,重啟后默認關閉網(wǎng)卡,修改下配置參數(shù)即可:
cd /etc/sysconfig/network-scripts/
vi ifcfg-eth0
?ONBOOT=yes
坑二、smb掛載到centos后,重啟無法生效
一般修改fstab加入相應mount指令后,重啟即可自動掛載,例如:
mount -t cifs -o "username=it,password=123"http://NFS_SERVER/IT/git /mnt/git
但是,因網(wǎng)絡啟動順序原因(猜的),這種方式重啟后無法自動掛載。
解決方案:改用autofs,具體安裝過程網(wǎng)上大把,不再贅述。
重點在于auto.master和auto.cifs兩個配置文件。最終實例參閱“坑三”。
高能預警——修改fstab后用mount-a驗證,切記!否則可能導致無法啟動!
坑三(大坑)、smb掛載到centos后,無法創(chuàng)建符號連接
搜索無數(shù)次才搞定。直接送上結論——mount時增加mfsymlinks參數(shù)
接坑二用autofs,兩個文件如下:

按照這個配置,只需要創(chuàng)建/NAS目錄,git目錄無需創(chuàng)建。
第4步、更新git至2.9.5版本
這步?jīng)]有碰到坑,命令記錄如下:

坑四(超級大坑)、安裝gitolite作為權限管理工具
掛載了群暉到/NAS/git后,希望把git相關所有文件都放在這里,于是設置HOME目錄為/NAS/git。
無數(shù)次試驗最終失?。。。?/p>
典型的錯誤是對gitolite-admin進行clone時,提示找不到這個倉庫。
高能預警——千萬不要用絕對路徑去clone!
將NAS目錄設置為git用戶HOME目錄,始終沒辦法成功把gitolite-admin庫clone出來。如有高手能解決這個問題,請賜教!
主要原因可能是NAS通過cifs掛載后,所有chown命令雖然能成功執(zhí)行,但文件屬主仍然是root,導致gitolite出現(xiàn)各種莫名其妙的錯誤。
第6步、使用共享群暉存放代碼倉庫
直接把/NAS/git掛載目錄作為git的HOME目錄,失?。〔贿^變通解決方案還是找到了:

將repositories目錄通過軟連接(ln -s)實際指向群暉共享盤掛載目錄。