例如我有一个共享仓库的代码所在用的空间非常大(超过 20 G),在每个产品构建时候都需要用到这个仓库的代码(从里面 copy 第三方库),如果每个人都要 git clone 这个第三方仓库,一是网络开销非常大,二是 git clone 时间长,而且占用大量的物理空间。
这可以通过 NFS 共享来解决。
另外希望这个代码仓库能自动更新,这里引入了 Jenkins。用它来检查如果这个容量巨大的仓库有代码提交就自动执行 git pull 操作,更新最新的代码到共享服务器上。
什么是 NFS?NFS(Network File System)即网络文件系统,是 FreeBSD 支持的文件系统中的一种,它允许网络中的计算机之间共享资源。在 NFS 的应用中,本地 NFS 的客户端应用可以透明地读写位于远端 NFS 服务器上的文件,就像访问本地文件一样,Windows 上俗称共享。
设置 NFS
# 例如在 Linux 上, 共享服务器的 ip 是 192.168.1.1 |
NFS 操作
启动 NFS 服务
启动 NFS 服务,需要启动 portmap 和 nfs 两个服务,并且 portmap 一定要先于 nfs 启动
service portmap start |
查看服务状态
service nfs status |
停止服务
service nfs stop |
导出配置
当改变/etc/exports配置文件后,不用重启 NFS 服务直接用这个 exportfs 即可
sudo exportfs -rv |
挂载到不同平台
Windows
# Install the NFS Client(Services for NFS) |
Linux/Unix
# Linux |