美文网首页
PHP git项目使用钩子同步到服务器

PHP git项目使用钩子同步到服务器

作者: Sven_qi | 来源:发表于2017-12-05 18:29 被阅读0次

    1.在服务器上配置好git 和用户秘钥
    2.从git服务器克隆到服务器
    3.再服务器配置钩子执行文件

     //设置防跨域
       header("Access-Control-Allow-Origin: *");
    
        error_reporting(1);
      //执行路径  可以通过http传过来,如果服务器上项目比较多的话
        $target = '/alidata/www/leizi/LeiZi'; //
    
    
       //系统用户 
        $wwwUser = 'www';
      //用户组
        $wwwGroup = 'www';
    
        $json = json_decode(file_get_contents('php://input'), true);
        //获取传输过来的数据  => 可能是密码,签名一类的加密方式   加密解密方式省略
        $repo = $json['repository']['name'];
        
        //给项目目录赋用户权限 可手动操作
        // $cmds = array(
        //     "cd $target && git pull",
        //     "chown -R {$wwwUser}:{$wwwGroup} $target/",
        // );
        // foreach ($cmds as $cmd) {
        //     shell_exec($cmd);
        // }
    
        $cmd = "cd $target && git pull";
    
        if(shell_exec($cmd)){
                echo json_encode(['code'=>0,'message'=>'ok']);
        }else{
                echo json_encode(['code'=>1,'message'=>'fail']);
        }
    

    //网站链接指向该目录,可以同步到服务器

    相关文章

      网友评论

          本文标题:PHP git项目使用钩子同步到服务器

          本文链接:https://www.haomeiwen.com/subject/elncixtx.html