<?PHP
//密码
$password = '123456';
$requestBody = file_get_contents("PHP://input");
if (empty($requestBody)) {
die("请求参数是空的!");
}
//验证密码是否正确
$data = json_decode($requestBody, true);
if (!isset($data['password']) || $data['password'] != $password) {
die("密码错误!");
}
// 只需这一行代码便可拉取
// shell_exec("cd /var/www/Project && git pull"); // 目录换成项目的目录
die("OK:".date("Y-m-d H:i:s"));
?>
创建web服务器用户目录,这里以apache用户为例,不同的环境请根据自己环境自行修改:
sudo mkdir /var/www/.ssh
sudo chown -R www-data /var/www/.ssh/ // 这里的用户要是 Apache 的运行用户,下同
公钥有两个:1. git用户公钥,2. 部署公钥:
1.用户公钥(用于git clone时认证权限)
ssh-keygen -t rsa -C "[email protected]" # 填自己的邮箱
# 然后一直回车就行
# 生成的文件通常是 /root/.ssh/id_rsa,如果非root用户请查看提示上的路径
2.部署公钥
sudo -Hu www-data ssh-keygen -t rsa
# 请选择 "no passphrase",一直回车下去
配置公钥
1.用户公钥
sudo cat /root/.ssh/id_rsa.pub # 查看生成的密钥内容,复制全部
2部署公钥
sudo cat /var/www/.ssh/id_rsa.pub # 查看生成的密钥内容,复制全部
修改目录权限:
chown -R www-data /var/www/hook # 这里请改成你创建的hook目录
chown -R www-data /var/www/Project # 这里请改成你的项目目录
要注意权限问题,目录权限一定要修改。
system("whoami"); // 查看是哪个用户执行该命令
配置完成后要用这个命令测试一下pull
sudo -u www-data git pull
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。