千家信息网

如何配置码云git自动更新的webhook

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,本篇内容介绍了"如何配置码云git自动更新的webhook"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所
千家信息网最后更新 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"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0