WebHooks

钩子文件hook.php

<?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 "xxx@gmail.com" # 填自己的邮箱
 # 然后一直回车就行
 # 生成的文件通常是 /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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陌北v1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值