서버에서 '수신 후'를 보내려고합니다. 나는 후크 파일에 다음 코드를 사용하고 있습니다 :서버에서 수신 후 후크 오류가 발생했습니다.
#!/bin/bash
#CONFIG
LIVE="/home/ubuntu/public_html/testing"
read oldrev newrev refname
if [ $refname = "refs/heads/master" ]; then
echo "===== DEPLOYING TO LIVE SITE ====="
unset GIT_DIR
cd $LIVE
# ssh-agent $BASH
# ssh-add /home/ubuntu/.ssh/ubuntu
git pull --verbose origin master || echo "git-pull: returned error code"
echo "===== DONE ====="
fi
그것은 내가 서버에 내 로컬 PC에서 뭔가를 밀어하려고 할 때마다 다음과 같은 오류 mesasge 보여주고있다 :
===== DEPLOYING TO LIVE SITE =====
remote: error: cannot open .git/FETCH_HEAD: Permission denied
remote:
remote: git-pull: returned error code
remote: ===== DONE =====
하는 사람이 도와주세요 수를 무슨 문제가 될 수 있니?
그냥 확인하려면 ssh 터미널을 통해 명령을 실행하기 위해 동일한 사용자 자격 증명을 사용하려고했지만 정상적으로 작동했습니다.
미리 감사드립니다.
푸시/가져 오기/가져 오기 작업에 어떤 프로토콜을 사용하고 있습니까 (예 :'git-daemon'을 실행 중인지 또는 모든 것이'ssh + git : //'). 'git-daemon'을 사용한다면, 데몬의 사용자 ID (그리고 당신의 후킹을 실행하는 사용자)가 당신의 "라이브"저장소를 읽고 쓸 수 있습니까? –
twalberg
공개 키 인증과 함께 ssh를 사용하고 있습니다. 괜찮지 않니? 또한, 내가 추진하고있는 사용자는 서버와 내 로컬 PC에서 동일한 개인 키를 공유합니다. 괜찮지 않니? 아니면 다른 방법으로 제안 하시겠습니까? 감사. – Rana
ssh를 사용하는 것이 좋습니다 ... 위의'git-daemon '을 사용하여 언급 한 시나리오는 과거에 실행 한 시나리오입니다. 그래서 여러분이보고있는 것에 대한 하나의 가능한 설명이라고 생각했지만, 그렇지 않은 것 같습니다. 경우. – twalberg