码云webhook node版

const http = require('http');
const passwd = '123456';    //见说明1
const path = '/home/www/omange';     //配置需要拉取的路径
const process = require('child_process');
const port = 8888; // 服务器端口
const server = http.createServer((req, res) => {

});
server.on('clientError', (err, socket) => {
    socket.end('HTTP/1.1 400 Bad Request\r\n\r\n');
});
server.on('request',function(r,s){
    let headers = r.headers;
    let token =headers['x-gitee-token'];
    let userAgent = headers['user-agent'];
    let event = headers['x-gitee-event'];
    if (headers && token == passwd && userAgent == "git-oschina-hook" && event == "Push Hook")
    {
        process.exec(`cd ${path} && git pull`,function (error, stdout, stderr) {
            if (error !== null) {
                console.log('exec error: ' + error);
                s.write('-1')
            }
            console.log(stdout);
        });
        s.write('1');
    }
    else
    {
        s.write('0');
    }
});
server.listen(port);  

说明

  1. 码云的验证token设置一致即可
    在这里插入图片描述

使用

  1. 复制代码保存为hook.js
  2. 安装好node环境,测试通过版本node v10 快捷安装yum install node(centos)
  3. 安装pm2 npm install -g pm2
  4. 配置git 编辑.git目录下面的config文件最下面加上

[credential]
    helper = store

输入一次账户密码就保存下来了

  1. 服务器端口需要开放,云服务器需要设置安全组开放
  2. 启动 pm2 start hook.js
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值