nodejs和gith不起作用

时间:2014-07-27 06:13:51

标签: json node.js github webhooks autodeploy

我正在尝试使用github进行自动部署,我执行此js以获得一个“服务器”来接收来自github的钩子,这工作很棒,但我需要执行一个脚本来下载存储库,但这段代码不要执行我的hook.sh.我之前没有节点经验,所以,我在这里迷失了。

// Listen on port 9001
var gith = require('gith').create( 9001 );
// Import execFile, to run our bash script
var execFile = require('child_process').execFile;

gith({
    repo: 'username/autodeploy'
}).on( 'all', function( payload ) {
    if( payload.branch === 'master' )
    {
            // Exec a shell script
            execFile('/root/nodeapp/hook.sh', function(error, stdout, stderr) {
                    // Log success in some manner
                    console.log( 'exec complete' );
            });
    }
});
好吧,我正在手动测试这个问题,看起来问题出在gith上({....所有内容都不起作用,任何人都有想法?

感谢所有人

1 个答案:

答案 0 :(得分:1)

嗯,问题在于

gith({
    repo: 'username/autodeploy'
}).on( 'all', function( payload ) {....

我改变了

gith({
    repo: 'username/autodeploy'
}).on( 'file:all', function( payload ) {....

这解决了我的问题。谢谢@mscdex和@alandarev告诉我测试。