程序员开源工具技巧@IT·互联网

代码实时同步工具nobone-sync

2017-01-15  本文已影响0人  范一天

给大家推荐一个提高工作效率的工具:nobone-sync
主要作用是进行 本地代码 与 远程服务器代码 的实时同步

github:https://github.com/ysmood/nobone-sync

背景

环境部署在远程开发机,而代码使用本地IDE编写(不想用VIM),需要需要找到一个代码实时同步的工具,把本地编写的代码传到开发机上。

有人说,可以使用samba,直接连上服务器就ok了,但它有一个很大的缺点就是不稳定,有时候连着连着就断掉了,导致IDE卡住崩溃。其次,在大工程项目上,如果连着samba进行搜索,会非常慢。

后来,同事推荐了一个工具nobone-sync,它使用HTTP进行通信,可以实现秒级同步,另外也可以绕过跳板机,非常符合我们的要求。

nobone-sync的几个特点:

  1. 秒级同步
  2. 配置简单(服务器挂载个进程,本地起个进程)
  3. 安全加密传输

安装

nobone-sync使用npm进行安装(如果没有npm,请先装npm)
(在服务器端、本地环境,都需要安装)

$ npm install -g nobone-sync

配置

假设远程服务器地址:10.99.18.18
本地地址:127.0.0.1

1. 服务端配置

登陆远程服务器,在目录下,新建一个配置文件:sync_config.js

$ cd ~
$ vim sync_config.js

把如下配置加入文件中

module.exports = { 
  rootAllowed: '/home/work/test',    // 允许同步的目录
  host: '127.0.0.1',                 // 挂载地址 (直接填127.0.0.1)
  port: 8099,                        // 选择一个端口(注意和本地保持一致)
  pattern: '**',                     // 同步的文件类型(**表示所有类型)
  password: 'xxxxx',                 // 填写密码
  algorithm: 'aes128',               // 加密方式
  onChange: function(type, path, oldPath) {}
};
2. 本地配置

在本地目录下,也新建一个配置文件:sync_local_config.js

$ cd ~
$ vim sync_local_config.js

把如下配置加入文件中

module.exports = { 
  rootAllowed: '/Users/yitian/work/',    // 需要同步的代码目录
  remoteDir:'/home/work/test/abc/',      // 对应的远程服务器目录
  host: '10.99.18.18',                   // 远程服务器地址
  port: 8099,                            // 和远程服务器配置一致的端口
  pattern: '**',                         // 同步的文件类型(**表示所有类型)
  password: 'xxxxx',                     // 填写密码
  pollingInterval: 800        
};

启动

当服务器和本地都安装并写好配置文件后,即可启动nobone-sync。
远程服务器,执行

$ nobone-sync -s sync_config.js &

本地,执行

$ nobone-sync sync_local_config.js
出现synced,即表示同步成功

End.

上一篇下一篇

猜你喜欢

热点阅读