背景
我有多台設備, 而且不同平台, 在多台設備間倒騰代碼, 直接復制很不方便. 於是有了搭一個簡易家用級別的git服務器的想法.
目的
- 解決內部不同平台間倒騰代碼不方便的問題
- 家用級輕量解決方案
- 不需要高功耗服務器
軟硬件准備
- 華碩RT-AC86U路由器(其他支持梅林固件的路由器應該也可以)
- 梅林固件(386版本以上官改版或梅林版都可以, 我用的官改版)
- 淘汰的U盤一個
- xshell或其他支持ssh遠程登錄的軟件
環境搭建
- (系統管理-固件升級)路由器刷入梅林固件(386及以上版本), 如圖1
圖1
- (系統管理-系統設置)開啟ssh遠程, 如圖2
這個版本每次改這一頁的設置都提示用戶重名, 要修改下用戶名才能改其他選項, o_- !
圖2
-
檢查軟件中心是否可用, 如一直顯示更新中, 可以參考這個帖子手動初始化一下: https://blog.csdn.net/weixin_33854644/article/details/88908546
-
U盤格式化為ext4格式(略)
-
插入路由器, 檢查U盤格式是否正確
可以在軟件中心裝個虛擬內存軟件檢查下U盤格式是否正確, 如圖3, 圖4
圖3
圖4 -
(軟件中心)安裝Entware
直接按提示安裝到U盤即可(我的是/tmp/mnt/sda路徑下), 安裝大概幾分鍾, 安裝完成后會在工作區打印安裝完成日志.
圖5
git安裝
-
使用ssh遠程登錄路由器
- 用戶名密碼和網頁登錄路由器時的一樣.
圖6
- 用戶名密碼和網頁登錄路由器時的一樣.
-
(ssh遠程登錄后執行命令)安裝git包
opkg install git
-
檢查git是否已安裝成功
git --version
-
安裝成功則會打印版本號, 如下.
admin@RT-AC86U-XXXX:/tmp/mnt/sda/entwaren # git --version git version 2.33.0
git服務器初始化
-
建立git相關目錄
cd /opt/bin # 建一個用來存儲不同項目代碼的總目錄, 我這里起名gitlib的. mkdir gitlib cd gitlib/ # 初始化一個項目服務器端倉庫, 這里我給他起名test git init --bare test.git # 權限更新 chmod 775 test.git/ -R cd test.git/ # 修改git項目配置 vi config # config中修改為如下內容 [core] repositoryformatversion = 0 filemode = true bare = true sharedrepository = 1 [recerve] denyNonFastforwards = true
測試剛剛建立的git
順利的話其實到上面一步時, git簡易服務器已經算搭建好, 可以正常用了. 后面是一些測試和設置上的優化.
-
本地從git服務器拉取代碼
# 這里admin是我的路由器用戶名 git clone admin@192.168.50.1:/opt/bin/gitlib/test.git # 彈出密碼框, 輸入admin的密碼即可正常拉取代碼.
-
如拉取正常, 則push應該也是可以的.
-
每次輸入密碼麻煩, 也可以配置好ssh密碼保存一下.