• 技术文章 >后端开发 >php教程

    服务器对接码云webhooks实现自动部署

    little bottlelittle bottle2019-04-20 14:47:50转载1776
    本篇文章主要内容讲的是让服务器对接码云webhooks实现自动部署,具有一定参考价值,感兴趣的朋友可以了解一下。

    码云 WebHook 功能是帮助用户 push 代码后,自动回调一个您设定的 http 地址。

    服务安装git

    php代码(外网必须可以访问)


    <?php
    //本地路径滚adminasdfdasfasdf
    $file = "/wwwroot/webhooksLog.txt";
    $_File = fopen($file, "a+");
    $local = '/wwwroot/test';
    //仓库地址
    $remote = '远程仓库地址';
     
    //密码
    $password = '123456';
     
    //获取请求参数
    $request = file_get_contents('php://input');
    if (empty($request)) {
      die('请求参数为空');
    }
     
    //验证密码是否正确
    $data = json_decode($request, true);
    if ($data['password'] != $password) {
      die('密码错误');
    }
    fwrite($_File, "************************************************\r\n");
    fwrite($_File, "推送人Name: ");
    fwrite($_File, $data["pusher"]["name"] . "\r\n");
    fwrite($_File, "推送人Email: ");
    fwrite($_File, $data["pusher"]["email"] . "\r\n");
    fwrite($_File, "推送人UserName: ");
    fwrite($_File, $data["pusher"]["username"] . "\r\n");
    fwrite($_File, "推送人备注: ");
    fwrite($_File, $data["head_commit"]["message"] . "\r\n");
    fwrite($_File, "推送项目: ");
    fwrite($_File, $data["repository"]["full_name"] . "\r\n");
    fwrite($_File, "推送分支: ");
    fwrite($_File, $data["ref"] . "\r\n");
    fwrite($_File, "推送日期: ");
    fwrite($_File, $data["head_commit"]["timestamp"] . "\r\n");
    fwrite($_File, "************************************************\r\n");
    fclose($_File);
    //return;
    //echo shell_exec("cd {$local} && git pull {$remote} 2>&1");
    system('cd '.$local.' && "C:/Program Files/Git/cmd/git.exe" pull '.$remote.' 2>&1', $out);
    echo $out;
    die('done' . date('Y-m-d H:i:s'));
    ?>

    填入域名,点击提交

    完成

    相关教程:PHP视频教程

    以上就是服务器对接码云webhooks实现自动部署的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:博客园,如有侵犯,请联系admin@php.cn删除
    专题推荐:码云webhooks php
    上一篇:在MongoDB上如何进行数据的导入与导出 下一篇:thinkphp5.0框架 怎样生成数据库字典
    大前端线上培训班

    相关文章推荐

    • GitLab-webhook-PHP 详解 GitLab Webhooks 自动部署应用服务器• webhooks - Git WebHook 自动部署到Windows服务器 For PHP,求教程!• Eclipse上导出码云上项目的实例详解• php学习之连接数据库+日期处理

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网