使用github提供的webhook服务完成自动部署网站

参考
https://blog.csdn.net/weixin_33922670/article/details/87983409?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control

https://blog.csdn.net/u013764814/article/details/85240752

新建文件 webhook.php并授权

[root@izbp15488qcahuq3k0n0qiz lead_cockpit]# cd /home/www/htdocs/coding-webhook/
[root@izbp15488qcahuq3k0n0qiz coding-webhook]# vi webhook.php
[root@izbp15488qcahuq3k0n0qiz coding-webhook]# chmod 755  webhook.php

webhook.php 文件内容:

<?php
    //git webhook 自动部署脚本
    $requestBody = file_get_contents("php://input");    //接收数据
    if (empty($requestBody)) {              //判断数据是不是空
        die('send fail');
    }
    $content = json_decode($requestBody, true);     //数据转换
    //若是主分支且提交数大于0
    if ($content['ref']=='refs/heads/master') {
        $res = shell_exec('cd /home/www/htdocs/coding-webhook/Code/lead_cockpit/dist/ && git reset --hard origin/master && git clean -f && git pull 2>&1 && git checkout master');           //PHP函数执行git命令
        $res_log = '-------------------------'.PHP_EOL;
        $res_log .= ' 在' . date('Y-m-d H:i:s') . '向' . $content['repository']['name'] . '项目的' . $content['ref'] . '分支push'.$res;
        file_put_contents("git-webhook.txt", $res_log, FILE_APPEND);//将每次拉取信息追加写入到日志里
    }

配置git的webhook接口:

在这里插入图片描述
一开始这个地址前面是红色顿号,当有数据更新提交时,刷新页面即变为绿色√


版权声明:本文为qq_32392597原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。