zoukankan      html  css  js  c++  java
  • 华硕路由器(RTAC86U)架设简易git服务器

    背景

      我有多台设备, 而且不同平台, 在多台设备间倒腾代码, 直接复制很不方便. 于是有了搭一个简易家用级别的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密码保存一下.

  • 相关阅读:
    Windows10下Opencv4+CMake+MinGW64+VSC安装教程
    相机标定问题-实践操作流程
    eNSP仿真学习,网络入门!
    SFTP服务的使用!!
    树莓派B+使用入门&RPI库安装&wringPi库安装
    Python基本语法初试
    基于51单片机+DAC0832的信号发生器
    各种标志位的含义
    根文件系统ramdisk.image.gz && uramdisk.image.gz
    Linux中/etc/inittab文件
  • 原文地址:https://www.cnblogs.com/linkyip/p/15729758.html
Copyright © 2011-2022 走看看