轉(zhuǎn)載:http://www.itdecent.cn/p/cbb86d6a7856

給大家推薦一個提高工作效率的工具:nobone-sync
主要作用是進(jìn)行 本地代碼 與 遠(yuǎn)程服務(wù)器代碼 的實時同步。
github:https://github.com/ysmood/nobone-sync
背景
環(huán)境部署在遠(yuǎn)程開發(fā)機(jī),而代碼使用本地IDE編寫(不想用VIM),需要需要找到一個代碼實時同步的工具,把本地編寫的代碼傳到開發(fā)機(jī)上。
有人說,可以使用samba,直接連上服務(wù)器就ok了,但它有一個很大的缺點就是不穩(wěn)定,有時候連著連著就斷掉了,導(dǎo)致IDE卡住崩潰。其次,在大工程項目上,如果連著samba進(jìn)行搜索,會非常慢。
后來,同事推薦了一個工具nobone-sync,它使用HTTP進(jìn)行通信,可以實現(xiàn)秒級同步,另外也可以繞過跳板機(jī),非常符合我們的要求。
nobone-sync的幾個特點:
- 秒級同步
- 配置簡單(服務(wù)器掛載個進(jìn)程,本地起個進(jìn)程)
- 安全加密傳輸
安裝
nobone-sync使用npm進(jìn)行安裝(如果沒有npm,請先裝npm)
(在服務(wù)器端、本地環(huán)境,都需要安裝)
$ npm install -g nobone-sync
配置
假設(shè)遠(yuǎn)程服務(wù)器地址:10.99.18.18
本地地址:127.0.0.1
1. 服務(wù)端配置
登陸遠(yuǎn)程服務(wù)器,在目錄下,新建一個配置文件: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/', // 對應(yīng)的遠(yuǎn)程服務(wù)器目錄
host: '10.99.18.18', // 遠(yuǎn)程服務(wù)器地址
port: 8099, // 和遠(yuǎn)程服務(wù)器配置一致的端口
pattern: '**', // 同步的文件類型(**表示所有類型)
password: 'xxxxx', // 填寫密碼
pollingInterval: 800
};
啟動
當(dāng)服務(wù)器和本地都安裝并寫好配置文件后,即可啟動nobone-sync。
在遠(yuǎn)程服務(wù)器,執(zhí)行
$ nobone-sync -s sync_config.js &
在本地,執(zhí)行
$ nobone-sync sync_local_config.js

End.