28 Star 58 Fork 12

shenzhe / gitosc-hook

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
udp.php 940 Bytes
一键复制 编辑 原始数据 按行查看 历史
shenzhe 提交于 2015-11-17 11:05 . gitosc-hook first
<?php
function mylog($msg, $filename='pull'){
error_log(date("Y-m-d H:i:s")."\t".$msg.PHP_EOL, 3, __DIR__.DIRECTORY_SEPARATOR.$filename.'.log');
}
$opt = getopt("d", [
"ip::",
"port::",
"worker::"
]);
$ip = empty($opt['ip']) ? '0.0.0.0' : $opt['ip'];
$port = empty($opt['port']) ? '8991' : $opt['port'];
if (isset($opt['d'])) {
$daemonize = 1;
} else {
$daemonize = 0;
}
$serv = new swoole_server($ip, $port, SWOOLE_BASE, SWOOLE_SOCK_UDP);
$serv->set([
'daemonize'=>$daemonize,
]);
$serv->on('Packet', function($server, $_data, $client) {
$data = json_decode(trim($_data), true);
if(!empty($data[2])) {
system('cd '.$data[2].' && git pull', $ret);
mylog($data[2].':'.$ret);
if('gitosc-hook' == $data[0]) { //自动重载配置
file_get_contents('http://127.0.0.1:9501/reload');
}
} else {
mylog($_data.':'.strlen($_data));
}
});
$serv->start();
PHP
1
https://gitee.com/shenzhe/gitosc-hook.git
git@gitee.com:shenzhe/gitosc-hook.git
shenzhe
gitosc-hook
gitosc-hook
master

搜索帮助