1.阿里云code webhook自動部署:
場景:在阿里云code上有一個bang_admin的遠程git倉庫阅虫。
每次push新的文章上去后,還要登陸遠程服務(wù)器去pull代碼不跟,感覺非常不方便颓帝。這里用webhook來解決這個問題墨闲。
2 創(chuàng)建www公鑰
sudo -Hu www ssh-keygen -t rsa # 一直回車下去
sudo cat ./home/www/.ssh/id_rsa.pub # 查看生成的密鑰內(nèi)容洼冻,復制全部
將生成的密匙復制到阿里云code ssh公鑰
image.png
3.確保shell_exec函數(shù)開啟
找到php.ini的禁用函數(shù)并刪除
image.png
4.確保給你的web訪問目錄用戶文件打開權(quán)限
image.png
我需要能有/home/wwwroot/xhb_admin的權(quán)限
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'是讓執(zhí)行管道輸出結(jié)果摹迷。
echo shell_exec("cd $dir && git checkout -f && git pull 2>&1");
7,阿里云code添加webhook
image.png
8.備注(修改用戶組)
chown -R www:www test