背景

  我有多台设备, 而且不同平台, 在多台设备间倒腾代码, 直接复制很不方便. 于是有了搭一个简易家用级别的git服务器的想法.

目的

  • 解决内部不同平台间倒腾代码不方便的问题
  • 家用级轻量解决方案
  • 不需要高功耗服务器

软硬件准备

  • 华硕RT-AC86U路由器(其他支持梅林固件的路由器应该也可以)
  • 梅林固件(386版本以上官改版或梅林版都可以, 我用的官改版)
  • 淘汰的U盘一个
  • xshell或其他支持ssh远程登录的软件

环境搭建

  • (系统管理-固件升级)路由器刷入梅林固件(386及以上版本), 如图1

  图1

  • (系统管理-系统设置)开启ssh远程, 如图2
      这个版本每次改这一页的设置都提示用户重名, 要修改下用户名才能改其他选项, o_- !

  图2

  • 检查软件中心是否可用, 如一直显示更新中, 可以参考这个帖子手动初始化一下:
  • U盘格式化为ext4格式(略)
  • 插入路由器, 检查U盘格式是否正确
      可以在软件中心装个虚拟内存软件检查下U盘格式是否正确, 如图3, 图4
  • 华硕路由器 部署python服务 华硕路由器搭建服务器_git

  •   图3
  • 华硕路由器 部署python服务 华硕路由器搭建服务器_java_02

  •   图4
  • (软件中心)安装Entware
      直接按提示安装到U盘即可(我的是/tmp/mnt/sda路径下), 安装大概几分钟, 安装完成后会在工作区打印安装完成日志.
  • 华硕路由器 部署python服务 华硕路由器搭建服务器_mysql_03

  •   图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密码保存一下.