gitee配置web hook鉤子實現(xiàn)自動部署

參考文檔 https://blog.csdn.net/yufan_xiaowu/article/details/52513838

如果git托管到自己的服務(wù)器上,若有推送則自動部署,需要配置.git/hooks/post-receive文件

#!/bin/sh
echo "收到了推送\n" >> test.txt
# git pull
  • 注意:需要有權(quán)限的用戶才能執(zhí)行

如果使用碼云托管代碼,若推送到碼云,則利用碼云的鉤子通知部署網(wǎng)站的服務(wù)器下拉代碼

  • 設(shè)置碼云鉤子,項目-管理-WebHooks-添加POST地址參考
  • 設(shè)置PHP調(diào)用shell_exec自動部署,若沒有開啟該函數(shù),在php.ini中開啟。
  • 設(shè)置用戶權(quán)限:我用的是LNMP搭建,運行PHP的用戶是www,則需要把項目的文件夾及所有文件的權(quán)限授予www用戶,執(zhí)行chown www.www * -R,注意.git目錄是否設(shè)置成功
// 下拉代碼
public function gitpull(){
    if(function_exists("shell_exec")){
        $cute =  "cd __ROOT__ && git pull https://user:pass@gitee.com/user/project 1>&2";
        $exe = shell_exec($cute);
        return "下拉完成-".date('Y-m-d H:i:s');
    }else{
        return '系統(tǒng)配置:shell_exec函數(shù)不可用';
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容