GIT 实现WebHooks 代码异步上传

  • Post author:
  • Post category:其他


这里写自定义目录标题


1.配置码云WebHooks


webhooks


2.编辑项目 目录下php文件

<?php
$secret = "test";  //密钥,和 GitHub 上对应
$rawPost = file_get_contents("php://input");
$data = json_decode($rawPost,true);
if($data['password'] == $secret){
			// $command = '/home/wwwroot/recruit_app/update';
            // exec($command,$output);
		var_dump(shell_exec("cd /home/wwwroot/recruit_app && git pull origin master 2>&1"));
            echo "代码拉取成功";
            // var_dump($output);die;
		// echo "代码拉取成功";
}else{
	echo "代码拉取失败,密码错误"; 
}


3.编辑php.ini文件


搜索 disable_functions 删除shell_exec 方法

重启php-fpm

service php-fpm restart

重启nginx服务器

service nginx restart


4.你可以用git公钥配对,ssh提交。我使用https提交,所以设置用户名和email


git config

user.name

xxx

git config user.email

xxx@xx.com


然后再执行一下永久存储的命令,用来存储密码

git config –global credential.helper store

切换linux用户

su www

然后去进行一次pull操作,输入密码登录就好了


注:


1.git pull 报错:error: insufficient permission for adding an object to repository database .git/objects

sudo chmod 777 -R .git/objects

即可


2.su

www 报错

修改/etc/passwd

www❌1001:1001::/home/www:/bin/bash



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