<button id="g80sy"></button>
  • <abbr id="g80sy"></abbr>
  • <button id="g80sy"></button>
    <rt id="g80sy"><delect id="g80sy"></delect></rt>
  • gitlab 配置webhook實現PHP自動拉取

    程序猿 2022-03-17 11:32:20 2059瀏覽 加載中

    PHP框架使用的是thinkphp6,服務器centos7.5,寶塔面板。

    程序方面

    public function gitPull()
    {
        $path = $this->app->getRootPath();
        $token = "xxxxxxxxxxx";
        $header = $this->request->header('x-gitlab-token');
    
        if (empty($header) || $header !== $token) {
            $a = "-----------------ERROR---------------------" . PHP_EOL;
            file_put_contents('git_log.txt',$a,FILE_APPEND);
            return  'error1';
        }
        $time = date('Y-m-d H:i:s');
        $a = "-----------start----------{$time}-----------------------------------------". PHP_EOL;
        $cmd = "cd {$path} && git reset --hard";
        $a .= shell_exec($cmd);
    
        $cmd = "cd {$path} && sudo git pull 2>&1";
        $a .= shell_exec($cmd);
    
        $cmd = "cd {$path} && sudo chown -R www:www * 2>&1";
        $a .= shell_exec($cmd);
        $time = date('Y-m-d H:i:s');
        $a .= "-----------End----------{$time}-----------------------------------------" . PHP_EOL. PHP_EOL. PHP_EOL;
        file_put_contents('git_log.txt',$a,FILE_APPEND);
        return 'ok1';
    }

    服務器方面

    注意開啟函數shell_exec,需要開啟網站用戶WWW sudo權限和免密操作,具體操作

    編輯 /etc/sudoers,添加下面兩行

    4444.png

    GITLAB方面

    123.png

    輸入你程序的訪問地址,私密授權碼gitlab在發送請求的時候會添加到header里,上面程序中可以看到。經過半天的測試終于成功,加雞腿。

    標簽:
    最后修改:2025-03-23 19:21:41

    非特殊說明,本博所有文章均為博主原創。

    主站蜘蛛池模板: 孝感市| 繁峙县| 夏津县| 依安县| 江川县| 苏尼特右旗| 仙桃市| 惠来县| 和田县| 潮安县| 开平市| 南陵县| 阿鲁科尔沁旗| 五大连池市| 平度市| 巴林左旗| 孝感市| 灵寿县| 铅山县| 平凉市| 吉林省| 合肥市| 聂荣县| 连州市| 博湖县| 保亭| 宁蒗| 老河口市| 赞皇县| 涞源县| 敦煌市| 鲁山县| 安龙县| 岐山县| 台山市| 玛纳斯县| 阿拉善右旗| 阳信县| 洪泽县| 肥城市| 鱼台县|