github下webhooks自动化部署代码到服务器

环境

lamp: centos7.2+Apache/2.4.6+PHP5.6

原理

将代码push到github后,通过在github项目中Settings下的Webhooks配置一个URL,此URL对应的是自己服务器上的一个php文件,在此文件中通过shell_exec对服务器发送shell命令(pull操作),github的webhooks能够检测客户端的push操作,触发对URL的http请求,故而实现了服务器上的pull操作,实现代码部署到服务器。

操作步骤

配置github下webhooks

github下webhooks自动化部署代码到服务器_第1张图片

服务器的php文件

&1") ;
        exit();
    }
}
http_response_code(404);
?>
命令说明

/usr/bin/git reset --hard origin/master 强制恢复版本到前一个稳定版
/usr/bin/git clean -f 清理提交的更改
/usr/bin/git pull 2>&1 拉取最新的版本到本地

注意:项目目录要为www权限,否则shell命令不成功,第一次要手动执行git clone,之后webhooks才能生效
借鉴于此:GitHub 的 Webhooks 自动部署( PHP 版)

你可能感兴趣的:(git,github,webhooks,centos,php)