Saya mencoba men-setup gitlab (6.5.1) pada server bersih yang baru. Semuanya tampak berfungsi, tetapi git tidak dapat mendorong ke proyek apa pun. Mengikuti perintah dari halaman proyek yang baru dibuat dan mendorong ke remote melalui ssh memberi:
$ 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.
Ini tampaknya menjadi masalah yang cukup umum. Sayangnya itu tampaknya memiliki sejumlah penyebab potensial dan tidak satupun dari mereka yang cocok. Dari terbitan 3424 tentang rilis lama dan berbagai sumber online lainnya, saya telah melihat dan memeriksa saran-saran berikut:
Tombol sisa ssh
Ini adalah pengaturan yang bersih tanpa sisa. Kunci saya ditambahkan ke file kunci yang diotorisasi dengan benar dan merupakan satu-satunya yang terdaftar.
Menjalankan ssh dengan debug logging menunjukkan kesalahan yang terkait dengan vars lingkungan Ruby.
Milik saya muncul bersih. Debug SSH menunjukkan koneksi yang berhasil. Segala sesuatu tentang handshaking otentikasi adalah normal, maka ini adalah akhir dari output:
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
Masalah dengan lingkungan gitlab-shell.
Tidak seperti banyak orang lain dengan pesan kesalahan yang sama di atas, skrip cek gitlab-shell saya mengembalikan tagihan kesehatan yang bersih:
% 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
Mulai ulang {unicorn, sidekiq, redis}
Laporan yang memulai kembali satu atau lebih layanan membersihkannya sepertinya tidak berlaku di sini. Ini bukan masalah yang terputus-putus yang merilis perbaikan daemon.
Repo itu tidak dibuat secara fisik
Tapi itu benar. Pertama kali setiap kali, repo telanjang
~gitlab/repositories/username/reponame.git
itu dibuat setiap kali dan tampaknya memiliki izin yang benar.Gitlab-shell tidak dapat berbicara dengan server API karena A) masalah DNS, B) salah ip / port / antarmuka mengikat C) tidak memiliki / memiliki garis miring.
Skrip cek mengatakan akses API baik-baik saja.
Saya tidak menjalankan nginx, jadi masalah pengikatan ip default yang terkait adalah n / a.
Saya sudah mencoba keduanya
*:8080
dan127.0.0.1:8080
untuk nilai mendengarkan diunicorn.yml
.Selain itu, saya telah mencoba berbagai iterasi localhost, 127.0.0.1 dan nama domain yang sepenuhnya memenuhi syarat (yang merupakan DNS resolving fine) dengan dan tanpa membuntuti garis miring
shell.yml
tanpa hasil. Saya juga telah mencoba menghubungkan kabel ini langsung ke server unicorn pada port 8080 alih-alih Apache SSL / host proxy pada port 80. Sepertinya tidak ada bedanya. Sertifikat saya tidak ditandatangani sendiri dan berfungsi dengan baik untuk browser, tetapi sayaself_signed_cert: true
tetap mencoba pengaturannya . Tidak ada.Jalur git yang dilaporkan salah, tambahkan jalur yang sepenuhnya memenuhi syarat dari rumah pengguna gitlab.
Ini sepertinya saran sah jika gitlab-shell tidak melakukan beberapa bisnis monyet untuk memperbaikinya, tetapi saya mencoba mengubah
git remote add origin gitlab@server:username/reponame.git
ke `` git remote add origin gitlab @ server: repositori / nama pengguna / reponame.git` tetapi tidak berhasil. Kesalahan yang sama.
Ini tampaknya merupakan solusi yang disarankan, tetapi tidak ada yang tampak benar. Catatan saya dapat mendorong http. Permintaan login menerima nama pengguna dan kata sandi ldap saya dan menerima dorongan. Ini hanya masalah saat mencoba menggunakan SSH. Menguji hanya bagian login ssh dengan ssh -T gitlab@server
berfungsi dengan baik.
Apa lagi yang bisa menyebabkan kesalahan ini?
Bagaimana cara men-debug masalah seperti itu di gitlab? Sepertinya tidak ada yang relevan sama sekali di ~gitlab/gitlab-shell/gitlab-shell.log
. Di mana pesan kesalahan yang lebih informatif ditemukan?