1.阿里云code webhook自动部署:
场景:在阿里云code上有一个bang_admin的远程git仓库。
每次push新的文章上去后,还要登陆远程服务器去pull代码,感觉非常不方便。这里用webhook来解决这个问题。
2 创建www公钥
sudo -Hu www ssh-keygen -t rsa # 一直回车下去
sudo cat ./home/www/.ssh/id_rsa.pub # 查看生成的密钥内容,复制全部
将生成的密匙复制到阿里云code ssh公钥
3.确保shell_exec函数开启
找到php.ini的禁用函数并删除
4.确保给你的web访问目录用户文件打开权限
我需要能有/home/wwwroot/xhb_admin的权限
sudo chmod 777 /home/wwwroot/xhb_admin/ -R
5.手动测试www用户pull
cd /home/wwwroot/xhb_admin
sudo -u www git pull (chown -R jay:fefjay my #修改文件所属用户为jay,所属用户组为fefjay)
6.编写web能访问的钩子文件
<?php
error_reporting(1);
//需要自动部署的项目目录
$dir = '/home/wwwroot/xhb_admin';
//'2>&1'是让执行管道输出结果。
echo shell_exec("cd $dir && git checkout -f && git pull 2>&1");
7,阿里云code添加webhook
8.备注(修改用户组)
chown -R www:www test