Nodejs 学习中.
简单介绍一下nodejs,就是使用js来写网站后台. 好了 介绍完了.
我的电脑环境, Mac lion 10.8.4 需要的工具,codekit/sublime text 2/3.
持续学习 Mark here (2013/08/03 04:50)
今天研究了一个小课题,Github提交hook操作服务器更新
首先简单介绍一下流程,用github编写代码,当代码提交到Github,Github当中的Service Hooks可以设置WebHook urls,我们设置一个自己服务器的url,当Url收到信息的时候,我们用nodejs里的child_pross,子进程来执行服务器shell.
var spawn =require('child_process').spawn,
free = spawn('git',['pull']);
free.stdout.on('data', function(data) {
console.log('Success: \n'+ data);
});
free.stderr.on('data', function(data) {
console.log('Error: \n'+ data);
});
free.on('exit',function(code,signal) {
console.log('Exit: '+code);
});
理论上就已经更新完成了,但是我们知道node一旦执行,不停止进程的话,那么app.js等核心后台js则一直是老的. 所以这里需要注意停止node再重新执行.
Mark 2013-8-6 下午7:06
可喜可贺,上面的代码是可行的,今天已经正式测试成功,不过跟上回说的一样,app.js在运行的时候是无法更新的.
不过既然能执行git,就同样可以执行node.所以我们先用forever运行app.js,然后当git执行完成的时候我们再执行
$ forever restartall
这样app.js就重新运行了,我们也可以继续使用了.
至此自动化更新node项目,完成了.
我们可以直接用git来提交,而服务器直接更新了.
Mark 2013-8-7 下午3:52
Node 这几天又写了一点 但是进展其实不大,主要是学习了一下socket.io的用法,并且用socket.io写了一个demo
戳这里 https://github.com/kelvinlee/jquerg
'多人同时编辑一个编辑器或多个编辑器. 后面的还没有做完,感觉自己越来越懒了.