Taze temiz bir sunucuda gitlab (6.5.1) kurmaya çalışıyorum. Her şey çalışıyor gibi görünüyor, ama git herhangi bir projeye zorlayamıyor. Yeni oluşturulan proje sayfasındaki komutları takip etmek ve ssh ile uzaktan kumandaya geçmek:
$ 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.
Bu oldukça yaygın bir sorun gibi görünüyor. Maalesef bir takım potansiyel nedenleri var gibi görünüyor ve hiçbiri eşleşmiyor gibi görünüyor. Gönderen konuyla 3424 çevrimiçi eski sürüm ve diğer çeşitli kaynaklardan üzerinde gördüğüm ve aşağıdaki önerileri kontrol ettim:
Artık ssh tuşları
Bu artıklar olmadan temiz bir kurulum. Anahtarım yetkili anahtarlar dosyasına düzgün bir şekilde eklendi ve listelenen tek anahtar.
Hata ayıklama günlüğü ile ssh çalıştırmak Ruby çevre değişkenleri ile ilgili hataları gösterir.
Benimki temiz çıkıyor. SSH hata ayıklaması başarılı bir bağlantı gösteriyor . Kimlik doğrulama el sıkışması ile ilgili her şey normaldir, o zaman bu çıktının sonu:
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 ortamıyla ilgili sorunlar.
Yukarıda aynı hata mesajına sahip diğer birçok programın aksine, gitlab-shell check komut dosyam temiz bir sağlık faturası döndürüyor:
% 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} yeniden başlatın
Bir veya daha fazla hizmeti yeniden başlatmanın raporları temizlediği raporlar burada geçerli görünmüyor. Bu, bir daemon'u düzeltmenin aralıklı bir sorunu değildir.
Depo fiziksel olarak oluşturulmuyor
Ama bu. Her seferinde ilk kez, çıplak git repo
~gitlab/repositories/username/reponame.git
her seferinde oluşturuluyor ve doğru izinlere sahip gibi görünüyor.Gitlab-shell API sunucusuyla konuşamaz çünkü A) DNS sorunları, B) yanlış ip / port / arayüz bağlaması C) sondaki eğik çizgiye sahip değil / sahip değil.
Kontrol komut dosyası API erişiminin iyi olduğunu söylüyor.
Ben nginx, bu yüzden ilgili varsayılan ip bağlama sorunu n / a çalıştırmıyorum.
İkisini de denedim
*:8080
ve127.0.0.1:8080
dinleme değeri içinunicorn.yml
.Bunun ötesinde, localhost, 127.0.0.1 ve tam etki alanı adı (DNS çözümleme para cezası) çeşitli yinelemeleri
shell.yml
boşuna eğik çizgi ile ve olmadan izledi denedim . Ayrıca bu doğrudan bağlantı noktası 80 Apache SSL / proxy ana bilgisayar yerine 8080 bağlantı noktası tek boynuzlu at sunucuya kablolama denedim. Hiçbir şey herhangi bir fark yapmak gibi görünüyor. Sertifikam kendinden imzalı değil ve tarayıcılar için iyi çalışıyor, ancakself_signed_cert: true
yine de ayarlamayı denedim . Hiçbir şey değil.Bildirilen git yolları yanlış, gitlab kullanıcı ana sayfasından tam nitelikli yol ekleyin.
Gitlab kabuğu zaten düzeltmek için bazı maymun işi yapmıyorsa bu yasal bir öneri gibi görünüyor, ancak
git remote add origin gitlab@server:username/reponame.git
boşuna `` git remote add origin gitlab @ server: repositories / username / reponame.git '' olarak değiştirmeyi denedim . Aynı hata.
Bu önerilen çözümlerin yalancı gibi görünüyor, ancak hiçbiri doğru görünmüyor. Ben Not am güçlü http üzerinden itmek. Giriş istemi ldap kullanıcı adımı ve şifremi kabul ediyor ve bir push kabul ediyor. Bu sadece SSH kullanmaya çalışan bir sorundur. Sadece ssh giriş bölümünü test etmek ssh -T gitlab@server
iyi çalışıyor.
Bu hataya başka ne neden olabilir?
Gitlab'da böyle bir sorunun ayıklanması nasıl yapılır? Hiç alakalı bir şey yok gibi görünüyor ~gitlab/gitlab-shell/gitlab-shell.log
. Daha bilgilendirici bir hata mesajı nerede bulunur?