在RiotBoard上搭建Git私有服务器 同是基于ARM处理器的卡片电脑,相比于树莓派,RiotBoard拥有更强大的处理器和更大的内存,并且有更丰富的外接接口,从硬件配置上压过树莓派一头。如果以后在系统软件上能够得到更好的优化,将有可能全面超越树莓派。虽然这并不是一件容易的事情,因为树莓派的发烧友已经遍布全世界。但至少在中国,如果有更多好玩实用的应用可以在RiotBoard运行,那么我们依然可以相信RiotBoard也会像树莓派那样,拥有自己的一群追随者。 好吧,不得不说关于搭建私有Git服务器的创意是来自于树莓派,而大多数的操作是Linux系统通用的。但是,我们要确定的是,这是运行在RiotBoard上的Git服务器,而不是运行在笨重的大块头电脑上,这对于RiotBoard的玩家来说就是一件很令人兴奋的事情,原来RiotBoard也是可以这样玩的。 Git是现在非常流程的分布式代码版本管理工具软件,平时我们在管理自己的代码时,只要通过一个Git客户端就可以同github或是其它远程的Git服务器进行同步,管理自己的代码。对于Git的使用者而言,我们大多数情况不需要关心远程的服务器是怎样工作的,然而,如果哪天要老板让你在自己公司内部的局域网搭建一个内部的Git服务器,我们就不得不临时客串一下网络系统管理员了。这里就记录我在RiotBoard上搭建我自己的私有Git服务器的过程,同大家分享一下。 1. 通过ssh登录到RiotBoard这里我已经为RiotBoard设置的固定IP,否则每次都要去查看RiotBoard动态分配的IP岂不是非常麻烦。设定方法见我之前的帖子 我用的远程连接工具是putty,小巧精悍的连接客户端。使用ssh通信协议,如果没有ssh通信软件包还需要安装,不过默认情况下Linux都是会预先安装的。 登录到RiotBoard的用户名和密码均为“linaro”。 2. 查看磁盘空间是否足够充裕使用命令: #df–h
图1 显示内部的磁盘存储空间还有1.2G空余,这样该是eMMC的剩余空间,以后可以考虑将Git的数据库放在SD卡上,毕竟RiotBoard上还有两个SD卡插座,不用实在可惜。 3. 在RiotBoard上安装Git服务器软件及必要的客户端软件输入命令: #sudo apt-get install wget git-core 中间如果提示要输入“YES”,那就照办吧,否则还能咋样呢。
图2 安装完成。 4. 为Git创建专有用户(组)接着我们来创建一个”Git”用户和用户组。注意,“/home/git”是我使用的用户文件夹。如果你想使用别的路径,替换下面命令里的”/home/git”为任何你指定的目录,比如说SD卡上的某个文件夹。 输入命令: adduser --system--shell /bin/bash --gecos 'Git version control by RiotBorad --home /home/git git 为用户“git”设定密码,输入命令: #passwdgit 啊欧,这里提示没有root权限。好吧切换为root用户。输入命令: #sudo–s 再次输入为用户“git”设定密码的命令。 然后就是连续输入两次设定的密码,第二次是确认设定。这里我为用户“git”设定的密码为“git“。
图3 现在用户“git”的创建就完成了。切换为新创建的“git”用户,输入命令: #sugit 这个时候终端提示已经作为“git”用户登录,“git@linaro-ubuntu-desktop”
图4 5. 增加一个空的Git仓库(Git Repository)我们现在来创建一个空的Git仓库. 首先更改目录到你存储git的路径下。输入命令: #cd /home/git 创建新Git仓库存放根目录并初始化。输入命令: #mkdir MyTest.git #cd MyTest.git #git --bare init
图5 注意,这里的“MyTest.git”是目录名,不同于Windows,Linux中没有文件扩展名的概念,所以不要被“.git”的后缀吓到。 OK,这个时候就已经搭建好Git服务器并成功创建了一个名为“MyTest.git”的Git代码仓库了。后面的事情就不用管RiotBoard啦。 6. 从RiotBoard克隆代码库在Windows下启动Git的客户端的Git Bash,切换当前目录为D盘根目录下,这里将作为克隆代码仓库的根目录。在Git Bash终端中输入命令: #cd /d
图6 提示输入用户“git”在192.168.1.11(也就是RiotBoard)的密码啦,这里输入之前设定的“git”。然后克隆就完成了。
图7 如果是首次建立到Git服务器的连接,会提示”authenticity of host …”神马的,这是要将远程Git服务器加入本地Git的信任主机列表,输入“YES”就好。 7. Push代码到RiotBoard上接下来的过程就是享受啦,关于Git的操作同任何教程中描述的没有任何区别。 Git Bash中切换到MyTest.git目录下,创建代码文件或者其它什么文件,我在这里创建的是一个readme.txt,然后是“git add”,“git commit”,“git push”一系列命令噼里啪啦地下去,哈哈,成功提交,大功告成。参看一下提交记录。
图8 本实验的创意来源于树莓派,但实际的操作过程同普通的Ubuntu无二,实际的操作过程也是借鉴了Ubuntu相关的教程。实验的核心操作就是安装git服务器软件,并在服务器上创建git用户(组)并创建代码仓库。内容虽然不多但非常实用。 如果想要继续优化下去:(1)可以考虑把服务器端的代码仓库移到外扩的SD卡或是硬盘上,这样可以给代码仓库更大的存储空间,还可以同时创建多个Git站点而且读写性能相对也会好很多;(2)可以考虑通过DNS服务器将那个看起来很山寨的远程主机的IP地址换成一个好看的域名;(3)终极目标,把私有服务器开放到公网上去,如果是这样,就成了Git服务提供商了,小巧RiotBoard的性能也无法同真正的服务器相比。呵呵,管他呢,发烧友的玩的就是“烧”嘛。
|