Webhook에서 벚꽃 서버에 대한 Git 자동화 악전고투(성공했기 때문에 추가 수정)

목표


Laravel에서 웹 훅 자동화 Git push를 사용하고 싶습니다.
난 해결 안 했어.하지만 일부 해결된 것만 썼다.

실패php 경로를 통과할 수 없습니다.


자동화 php 제작 방법은 검색하자마자 몇 가지가 나와 참고로 해봤지만 그 php 파일을 어디에 두면 URL이 어떻게 되는지 몰라 고전했다.
여러분, 거기 검은색으로 칠해서 숨기고 있어서 곤란해요.
Webhook 설정 표시줄 근처에 404가 나타나면 경로가 통과되지 않을 수 있습니다.

해결 방법
벚꽃 서버 옆에 있는 디렉터리에서
~/home/ユーザー名/www/プロジェクト名
프로젝트 이름 폴더의 바로 아래에 웹 훅이 적힌 php가 놓여 있습니다.
(www. 아래는 어디든 가능하지만 Laravel 개발을 전제로 프로젝트 폴더가 있습니다.)
그리고 URL
http://ユーザー名.sakura.ne.jp/プロジェクト名/deploy.php
왜냐하면

Payload URL에 입력하고 등록합니다.
그리고 오류 메시지

의 총체.
어쨌든 이 파일의 경로가 통과한 것 같습니다. 다음은 php 파일의 내용입니다.

해결 방법(2019/10/31 추적)


위의 시간 초과가 발생한 이유는 Github에 공개 키를 등록하지 않았기 때문입니다.
지금까지 셸 ssh로 단말기pull에 로그인했지만 웹hook 자동화로 사용자 이름과 비밀번호를 입력할 수 없습니다. (가능합니다. 하지만 현재 상황은 그 php 명령을 모르겠습니다.)
이를 위해github는 이벤트 벚꽃망 deploy를 통지합니다.php가 시작된 후에도 비밀번호가 없어permission denied가 된 것 같습니다.
벚꽃 네트워크의 서버에서 공개 키와 개인 키의 패키지를 만들고github의setting 페이지의 키 등록 표시줄에서 공개 키 (텍스트 기반 문자열) 를 복사하여 등록하는 일은github와 벚꽃 네트워크 사이의 비밀번호 입력이 면제됩니다.
deploy.php가 이상한 점이 있어서 일지에서 알려줄 수 없어서 반했어요.
공개 키의 설정 방법은 이 페이지의 맨 아래에 참고 페이지의 링크를 붙입니다. 저쪽을 보십시오.상당히 상세하게 썼다.
참고로 php 코드가 문법 오류 등으로 삭제되면 다음과 같이 500 오류가 표시됩니다.

따라서 그것이 나타나지 않고 시간을 초과하면 php 자체가 반응한다.
deploy.php에 관한 내용을 사이트에 많이 썼다
deploy.php
<?
echo "<p>webhook start</p>";
exec('cd /home/アカウント名/www/gitpullしていたディレクトリ名/',$op);
print_r($op); 
exec('git pull');
echo "<p>webhook finish</p>";
?>

이렇게 움직여.echo와 print는 확인을 위해 기록된 것이기 때문에 실제로는 두 줄입니다.
다른 사람들 일행은 총결산하는 사람이 많다.
exec () 방법은 인용부호의 문자열을 터미널에 직접 뱉을 뿐입니다.
즉, 첫 번째 exec에서 지금까지gitpull이 비밀번호를 입력한 곳
나는 단지 두 번째 exec에서 당길 뿐이다.
위의 내용이 성공하면 다음과 같은 로그가 나타납니다.

필요하면 exec를 삭제하고 echo의 줄만 눌러서 전송하십시오.
이곳의 Body 표시줄의 로그는 자동 전송 성공이 아니라 deploy입니다.php를 출력하는 print계 방법의 로그이기 때문에echo에서만 테스트하면 이벤트가 알림, 점화될 수 있는지 확인할 수 있습니다.

참조 페이지


GitHub로 ssh 연결하려면 ~ 공개 키, 개인 키 생성~

좋은 웹페이지 즐겨찾기