0 370 2021-06-02 20:00:01
收藏
<?php
/**
* 自动更新钩子
* 修改验证码及项目路径即可使用,
* 修改项如下:
* 1、您的自定义密码
* 2、/home/wwwroot/app您的项目A路径
* [冲浪蜗牛](https://www.jianshu.com/u/4913fc14f7fb)
**/
// 接收码云POST过来的信息
$json = $GLOBALS['HTTP_RAW_POST_DATA'];
$data = json_decode($json, true);
// 打开网站目录下的hooks.log文件 需要在服务器上创建 并给写权限
$fs = fopen('./../../logs/webhooks_pull.log', 'a');
fwrite($fs, '================ Update Start ===============' . PHP_EOL . PHP_EOL);
// 自定义密码 用于验证 与码云后台设置保持一致
$access_token = '您的自定义密码';
$client_token = $data['password'];
// 请求ip
$client_ip = $_SERVER['REMOTE_ADDR'];
// 把请求的IP和时间写进log
fwrite($fs, 'Request on [' . date("Y-m-d H:i:s") . '] from [' . $client_ip . ']' . PHP_EOL);
// 验证token 有错就写进日志并退出
if ($client_token !== $access_token) {
echo "error 403";
fwrite($fs, "Invalid token [{$client_token}]" . PHP_EOL);
$fs and fclose($fs);
exit(0);
}
// 如果有需要 可以打开下面,把传送过来的信息写进log 可用于调试,测试成功后注释即可
// fwrite($fs, 'Data: ' . print_r($data, true) . PHP_EOL);
// 执行shell命令并把返回信息写进日志
exec('cd /home/wwwroot/app; git pull 2<&1; chown -R www:www /home/wwwroot/app/*;', $output);
fwrite($fs, 'Info:' . print_r($output, true) . PHP_EOL);
fwrite($fs, PHP_EOL . '================ Update End ===============' . PHP_EOL . PHP_EOL);
$fs and fclose($fs);
// 调试时打开
// echo json_encode($output);
error: Your local changes to the following files would be overwritten by merge:
执行:git reset --hard 即可
// 为了相对安全,我这里针对需要777权限的目录进行设置
cd 项目A/.git
# cd .git
chmod -R 777 FETCH_HEAD
chmod -R 777 ./objects
chmod -R 777 ./refs
chmod -R 777 ./logs
注意: 是.git目录
git status
# git pull
git push
本文地址:https://xzo.com.cn/develop/php/1010.html
如果您认可我们的分享,有意与我们合作开展帝国cms网站建设与开发业务或插件定制,请联系右侧在线客服。我们能给您的,就是高质量的模板与售后。
标注了信息来源为下载鸥的文章皆为原创,如果是转载的优质文章,我们也都标注了出处。如果您喜欢我们的文章,请按照下载鸥所标注的文章出处进行标注,谢谢您的配合。
PHP是一种服务器端、跨平台、html嵌入式的脚本语言,其功能十分强大、入门简单。在过去,民间一直有说法称“PHP是最好的编程语言”,是PHP开发者对自身所使用语言的肯定。
PHP曾是最主流的网站web开发语言之一,现在也依然十分流行。
在程序开发的过程中,我们可能需要提取段落里的图片用作缩略图。那么,这个正则...
在实际操作过程中,我们可能需要通过PHP正则提取字符串中的数字,并组成数组。...
互联网上每天都有很多爬虫到处爬取内容,你可能不知道他们是干嘛的,但其中肯定...
数组在实际开发过程中运用非常频繁,通过合理运用数组,我们可以顺利实现各种数...
在一些开发场景中,我们需要在每次发起请求后更新重置session_id以同步用户数...
我们在网站开发的过程中经常需要处理数据,今天讲讲怎样用正则提取字符串中的...
今天有朋友咨询鸥哥,说php写的for循环本来至少要循环9次,但却只执行了一次就...
在网站建成后的维护与优化阶段,我们会面临无用栏目/数据处理的问题。量小的...
帝国CMS自带的搜索功能虽然强大,但也有很强的局限性 -- 必须关键词完全匹配...
帝国cms 对接纳米数据(www.nami.com)接口,本接口主要接收、整理足球比赛实时数...
本插件基于帝国cms帝国cms每日自动审核插件,在自动审核指定条数信息的基础上...
下载鸥开发了这款帝国cms封禁ip插件,自动记录访问情况,让我们可以更快的识别...
使用帝国cms的企业用户、新闻资讯类站点的用户很多,此类站点很多时候需要有...
本插件适用于内网用户,可查看单篇文章访问者ip地址。如果添加访问者ip组,可查...
通过本插件,可以实现帝国cms网站对接百度云api实现图像无损放大的功能。经过...
帝国cms有自带的给关键词添加内链功能,但需要手动添加关键词,容易出现疏漏和...