千家信息网最后更新 2024年11月11日如何配置码云git自动更新的webhook
本篇内容介绍了"如何配置码云git自动更新的webhook"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
配置项目提交到git的时候自动同步服务器代码
一、在服务器项目跟目录新建文件hook.php 代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$json = file_get_contents ( "php://input" );
$data = json_decode( $json ,true);
if (isset( $data [ 'ref' ]) && $data [ 'total_commits_count' ]>0) {
$res = PHP_EOL. "pull start ---------------------------------------------" .PHP_EOL;
$res .= shell_exec( "cd /home/www/honli && git pull https://654589023%40qq.com:passwod@gitee.com/xxxx/xxxx.git 2<&1 " );
$res_log = '------------------------------------------------------------' .PHP_EOL;
$res_log .= $data [ 'user_name' ] . ' 在' . date ( 'Y-m-d H:i:s' ) . '向' . $data [ 'repository' ][ 'name' ] . '项目的' . $data [ 'ref' ] . '分支push了' . $data [ 'total_commits_count' ] . '个commit:' . $data [ 'commits' ][ 'message' ];
$res_log .= $res .PHP_EOL;
$res_log .= "pull end -----------------------------------------------------" .PHP_EOL;
file_put_contents ( "/home/wwwlogs/webhook/" . date ( 'Y-m-d' ,time()). ".txt" , $res_log , FILE_APPEND); //写入日志到log文件中
}
?>
|
二、配置码云webhook:
三、确认服务器安装了git,在web目录下clone 项目:git clone https://gitee.com/xxxx/xxxx.git;
四、把git的目录权限改为web用户权限: chown -r www:www
五、手动更新代码:cd /home/www/honli && git pull;
六、git pull 冲突或错误时,用命令git stash && git pull解决冲突或错误
"如何配置码云git自动更新的webhook"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!