질문을 통해 검색했지만 아직 내 질문에 대답하지 않았습니다.힘내 기둥 수신 후크가 실행되고 있지 않습니다.
대부분은 권한을 설정하여 파일을 실행할 수 있음을 제안합니다. 완료 - 777로 설정하십시오.
전송 프로토콜은 http가 아니고 ssh 여야합니다. Git 확장에서 찾아보기 저장소를 확인했으면 좋겠다. [email protected]로 시작하므로 ssh 프로토콜이어야한다.
단순히는 다음과 같습니다 포스트 - 수신 :
#!/bin/sh -x
echo 'test';
git log -1 HEAD --pretty=format:"%x09%ad%x09";
touch ~/repos/develop/dashboard/test.txt;
을 그래서 자식 풀을 실행할 때, 그 실행해야합니다.
post-receive의 이름을 post-checkout으로 변경하려고했는데 git checkout을 호출 할 때 실행되었습니다.
하지만 git pull - post-receive는 무시됩니다.
일부 noexec 파티션도 언급했습니다. 그러나 사후 점검이 효과가 있다면 사후 점검도 실행해야하기 때문에이 또한 효과가 있어야합니다.
확인할 사항은 무엇입니까?
업데이트 :
나는이 후크를 선택하는 이유 내가 말할 것이며, 어쩌면 당신은 다른 방법을 제안 할 수 있습니다.
데이터베이스에 현재 날짜를 저장하는 링크를 git pull로 호출하고 싶습니다. 따라서 사용자가 웹 사이트를 열면 웹 사이트가 마지막으로 업데이트 된시기를 확인할 수 있으므로 각 사이트 업데이트에서 수동으로 시간을 설정하지 않아도됩니다.
는 업데이트 :
이 스크립트 전에 실행하고 서버에 밀어 후 : 좋아, 내가 흥미 라인을 참조하십시오.
코드를 작성하는 컴퓨터에서 서버로 푸시합니다. 우분투 서버가 어떻게 푸시했는지 알 수 있습니까? 내가 프로그램하고 푸시 한 내 컴퓨터에 후 수신 파일을 넣어야합니까? 시도 할 수는 있지만 어떻게 든 도움이된다는 것은 불가능 해 보입니다.
업데이트 퍼팅 시도
내가 밀어 사용하는 컴퓨터에서 포스트 받고 내가 예상대로 - 더 TEST.TXT은 우분투 서버에 생성되지 않으며, 내 컴퓨터에있는되었다.
업데이트 내가 사용하는 것입니다 무엇을 달성하는 방법
후크 게시물을 병합. 클라이언트 측 범주입니다. 내 서버는 상대적으로 비트 버킷에 대한 클라이언트입니다. 그래서 서버를 가져 가면 병합이 완료되고 스크립트가 실행됩니다.
내 프로젝트의 서버 .git/hooks 폴더에 넣습니다. –
git pull 후에 아무런 훅이 없다면, 어떻게 post-receive가 실행됩니까? 그래서 나는 잘못된 명령으로 실행하기 위해 열심히 노력하고 있었습니까? Btw 나는 당신의 연결을 읽었다 그러나 아직도 문제를 해결할 수 없다 –
'post-receive에서 받으십시오'는 서버가 푸시 (서버 푸시, 서버 수신)를 받았음을 의미합니다. 그 때문에 수신 후크는 서버 측에 있습니다. – rastasheep