목차
Github 준비
1.웨어하우스 설정에서 웹후크 추가
1.웨어하우스를 생성한 후 설정을 클릭하세요.
2. 링크가 유효한지, 파일에 접근했는지 테스트
PHP 코드 배포
1. 후크 파일 추가 및 쉘 명령 실행
일반적인 오류 처리
1. .php.ini 파일에서는 셸이 비활성화되지 않습니다. 이 오류는 비교적 일반적이며 디버깅 중에 쉽게 찾을 수 있으므로 자세히 설명하지 않겠습니다.
2..git 권한 문제, .git/ 디렉터리의 파일 권한 그룹을 www
3. 권한 그룹 문제
www 권한 그룹에서 github에 연결하기 위한 공개키가 생성되지 않았기 때문입니다
PHP 프레임워크 ThinkPHP 웹 후크 서버가 자동으로 코드를 가져오는 정보 PHP thinkphp6

웹 후크 서버가 자동으로 코드를 가져오는 정보 PHP thinkphp6

Jun 24, 2021 pm 03:18 PM
github linux php

Github 준비

1.웨어하우스 설정에서 웹후크 추가

개인 창고를 예로 들어보세요:
웹 후크 서버가 자동으로 코드를 가져오는 정보 PHP thinkphp6

1.웨어하우스를 생성한 후 설정을 클릭하세요.

웹훅 액세스 경로 설정:
웹 후크 서버가 자동으로 코드를 가져오는 정보 PHP thinkphp6

내 프로젝트를 예로 들면 프레임워크는 tp6을 사용합니다. public/ 아래에 basic.php라는 파일을 만듭니다. 이 파일은 코드가 서버에 푸시될 때 GitHub가 액세스하고 실행할 수 있는 파일입니다.
이 파일은 링크가 트리거되면 파일의 명령이 자동으로 실행되어 자동 git pull을 구현하는 데 사용됩니다.

2. 링크가 유효한지, 파일에 접근했는지 테스트

웹 후크 서버가 자동으로 코드를 가져오는 정보 PHP thinkphp6

위 그림과 같이 녹색 ✅이 나타나면 링크에 접근했다는 뜻이고, 빨간색 ⚠️ 표시가 나타나면 메시지가 나타나면 해당 파일에 액세스하지 않았음을 의미합니다. 링크에 문제가 있는지, 코드에 문제가 있는지 확인할 때 사용합니다.
  • [x] Github이 완성되었습니다.

    PHP 코드 배포

    1. 후크 파일 추가 및 쉘 명령 실행

    일부는 아래와 같습니다 内联代码片.

<?php     //git webhook 自动部署脚本
    $requestBody = file_get_contents("php://input");    //接收数据
    if (empty($requestBody)) {              //判断数据是不是空
        die(&#39;send fail&#39;);
    }
    $content = json_decode($requestBody, true);     //数据转换
    //若是主分支且提交数大于0
    if ($content[&#39;ref&#39;]==&#39;refs/heads/main&#39;) {
     //或将命令加入 shell里,看个人需求 git reset --hard origin/master && git clean -f
        $res = shell_exec(&#39;cd /www/wwwroot/xxxx/ && echo `sudo git pull` >&gt; b.log');//PHP函数执行git命令
        $res_log = '-------------------------'.PHP_EOL;
        $res_log .= ' 在' . date('Y-m-d H:i:s') . '向' . $content['repository']['name'] . '项目的' . $content['ref'] . '分支push'.$res;
        file_put_contents("git-webhook.txt", $res_log, FILE_APPEND);//将每次拉取信息追加写入到日志里
    }
?&gt;
로그인 후 복사
  • [x] 이제 명령의 PHP 셸 부분이 완료되었으며 다양한 프로젝트 요구에 따라 디버깅할 수 있습니다.

    일반적인 오류 처리

    1. .php.ini 파일에서는 셸이 비활성화되지 않습니다. 이 오류는 비교적 일반적이며 디버깅 중에 쉽게 찾을 수 있으므로 자세히 설명하지 않겠습니다.

    방법: php.ini에서 shell_exec를 삭제하고 서비스를 다시 시작하세요.

    2..git 권한 문제, .git/ 디렉터리의 파일 권한 그룹을 www

    로 변경하세요. 일반적으로 권한 오류가 발생하면 해당 파일 디렉터리가 권한 그룹인지 먼저 확인하는 것이 좋습니다. 그렇지 않은 경우 다음 명령을 사용하여 파일 권한 그룹을 수정할 수 있습니다
    //以www用户组为例
    chown -R www:www file/
    로그인 후 복사

    3. 권한 그룹 문제

    이전 프로세스에 문제가 없고 코드에 문제가 없다고 판단되면 단계별로 문제를 해결하세요. 여전히 자동으로 풀링되지 않습니다. 위의 셸을 수동으로 실행하면 코드가 성공적으로 풀려날 수 있습니다. 로그 기록을 켜십시오. 로그 기록의 내용이 비어 있으면 이전 버전을 새 버전으로 교체해 보십시오. 4. 호스트 키 확인에 실패했습니다.^M 치명적: 원격 담당자에서 읽을 수 없습니다. ...

    www 권한 그룹에서 github에 연결하기 위한 공개키가 생성되지 않았기 때문입니다

    여기 작성자는 다른 해결 방법이 있으면 이 방법을 사용합니다. , 비공개 메시지나 댓글 영역 메시지를 보내 주시기 바랍니다.

    vim /etc/sudoers를 열고 비밀번호 없이 sudo 권한을 실행하려면 루트 아래에 www 줄을 추가하세요.

    웹 후크 서버가 자동으로 코드를 가져오는 정보 PHP thinkphp6
    5 이제 웹후크가 작동하고 파일을 수정하여 제출하고 로그를 쿼리할 수 있습니다.

    웹 후크 서버가 자동으로 코드를 가져오는 정보 PHP thinkphp6
    로컬 환경 centos + php7.3 + nginx

위 내용은 웹 후크 서버가 자동으로 코드를 가져오는 정보 PHP thinkphp6의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Dec 24, 2024 pm 04:42 PM

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드

DeepSeek 웹 버전 입구 DeepSeek 공식 웹 사이트 입구 DeepSeek 웹 버전 입구 DeepSeek 공식 웹 사이트 입구 Feb 19, 2025 pm 04:54 PM

DeepSeek 웹 버전 입구 DeepSeek 공식 웹 사이트 입구

DeepSeek을 설치하는 방법 DeepSeek을 설치하는 방법 Feb 19, 2025 pm 05:48 PM

DeepSeek을 설치하는 방법

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 Dec 20, 2024 am 11:31 AM

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법

문자열로 모음을 계산하는 PHP 프로그램 문자열로 모음을 계산하는 PHP 프로그램 Feb 07, 2025 pm 12:12 PM

문자열로 모음을 계산하는 PHP 프로그램

Bitget 공식 웹 사이트 설치 (2025 초보자 안내서) Bitget 공식 웹 사이트 설치 (2025 초보자 안내서) Feb 21, 2025 pm 08:42 PM

Bitget 공식 웹 사이트 설치 (2025 초보자 안내서)

PHP에서 HTML/XML을 어떻게 구문 분석하고 처리합니까? PHP에서 HTML/XML을 어떻게 구문 분석하고 처리합니까? Feb 07, 2025 am 11:57 AM

PHP에서 HTML/XML을 어떻게 구문 분석하고 처리합니까?

Ouyi OKX 설치 패키지가 직접 포함되어 있습니다 Ouyi OKX 설치 패키지가 직접 포함되어 있습니다 Feb 21, 2025 pm 08:00 PM

Ouyi OKX 설치 패키지가 직접 포함되어 있습니다

See all articles