깨끗한 서버에서 gitlab (6.5.1)을 설정하려고합니다. 모든 것이 작동하는 것처럼 보이지만 git은 어떤 프로젝트로도 밀어 넣을 수 없습니다. 새로 작성된 프로젝트 페이지의 명령을 따르고 ssh를 통해 원격으로 푸시하면 다음이 제공됩니다.
$ git push -u origin master
fatal: Could not read from remote repository.
Please make sure you have the correct access
rights and the repository exists.
이것은 상당히 일반적인 문제인 것 같습니다. 불행히도 많은 잠재적 인 원인이있는 것으로 보이며 그중 어느 것도 일치하지 않습니다. 에서 문제 3424 온라인 오래된 자료와 다양한 다른 소스에서 내가 본 다음과 같은 제안을 확인했습니다 :
남은 ssh 키
남은 부분이없는 깔끔한 설정입니다. 내 키가 인증 된 키 파일에 올바르게 추가되었으며 나열된 유일한 키입니다.
디버그 로깅으로 ssh를 실행하면 Ruby 환경 변수와 관련된 오류가 표시됩니다.
광산이 깨끗하게 나옵니다. SSH 디버그 는 성공적인 연결을 보여줍니다 . 인증 핸드 쉐이킹에 관한 모든 것이 정상적이며, 이것이 출력의 끝입니다.
debug1: Sending command: git-receive-pack 'username/reponame.git' debug1: client_input_channel_req: channel 0 rtype exit-status reply 0 debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0 debug1: channel 0: free: client-session, nchannels 1 debug1: fd 0 clearing O_NONBLOCK debug1: fd 1 clearing O_NONBLOCK
gitlab-shell 환경에 문제가 있습니다.
위의 동일한 오류 메시지를 가진 다른 많은 것들과 달리, gitlab-shell check 스크립트는 깨끗한 건강 청구서를 반환합니다.
% sudo -u gitlab -H ~gitlab/gitlab-shell/bin/check Check GitLab API access: OK Check directories and files: /var/lib/gitlab/repositories: OK /var/lib/gitlab/.ssh/authorized_keys: OK Test redis-cli executable: redis-cli 2.8.5 Send ping to redis server: PONG
{unicorn, sidekiq, redis}를 다시 시작하십시오.
하나 이상의 서비스를 다시 시작하면이 문제가 해결된다는 보고서는 여기에 적용되지 않는 것 같습니다. 이것은 데몬을 수정하는 간헐적 인 문제가 아닙니다.
레포는 물리적으로 생성되지 않습니다
하지만 그것은. 맨 처음으로 맨손으로 git repo in
~gitlab/repositories/username/reponame.git
이 매번 만들어지고 올바른 권한이있는 것 같습니다.A) DNS 문제, B) 잘못된 ip / port / 인터페이스 바인딩 C) 후행 슬래시가 없거나 없기 때문에 Gitlab-shell은 API 서버와 통신 할 수 없습니다.
확인 스크립트는 API 액세스가 정상이라고 말합니다.
나는 nginx를 실행하고 있지 않으므로 관련된 기본 IP 바인딩 문제는 해당 없음입니다.
에서의 청취 가치
*:8080
와 시도를 모두 시도127.0.0.1:8080
했습니다unicorn.yml
.그 외에도, 로컬 호스트 127.0.0.1과 DNS를 잘 사용하는 정규화 된 도메인 이름의 다양한 반복을
shell.yml
시도했습니다. 또한 포트 80의 Apache SSL / 프록시 호스트 대신 포트 8080의 유니콘 서버에 직접 연결하려고 시도했지만 아무런 차이가 없습니다. 내 인증서는 자체 서명 되지 않았 으며 브라우저에서 제대로 작동하지만self_signed_cert: true
어쨌든 설정을 시도 했습니다. 아무것도.보고 된 git 경로가 잘못되었습니다. gitlab 사용자 홈에서 정규화 된 경로를 추가하십시오.
이것은 gitlab-shell이 이미 이것을 수정하기 위해 원숭이 사업을하지 않는 경우 합법적 인 제안처럼 보이지만
git remote add origin gitlab@server:username/reponame.git
``git remote add origin gitlab @ server : repositories / username / reponame.git``로 변경하여 아무 소용이 없습니다. 같은 오류입니다.
이것은 제안 된 해결책 중 하나 인 것처럼 보이지만 그중 어느 것도 옳지 않은 것 같습니다. 참고 http를 푸시 할 수 있습니다. 로그인 프롬프트는 내 LDAP 사용자 이름과 비밀번호를 승인하고 푸시를 승인합니다. 이것은 SSH를 사용하려고 할 때만 발생하는 문제입니다. ssh 로그인 부분 만 테스트하면 ssh -T gitlab@server
정상적으로 작동합니다.
이 오류의 원인은 무엇입니까?
gitlab에서 그러한 문제를 디버깅하는 방법은 무엇입니까? 에 전혀 관련이없는 것 같습니다 ~gitlab/gitlab-shell/gitlab-shell.log
. 더 유익한 오류 메시지는 어디에 있습니까?