2015-07-22 13 views
7

Mamy hostowaną lokalnie wersję Enterprise GitLab w moim miejscu pracy (obecnie na v.12.12.00-ee ceb5083). Mogę utworzyć repozytorium poprzez GUI bez problemu. Ale gdy próbuję coś dodać do repozytorium, otrzymuję ten błąd:Jak rozwiązać problem "GitLab: API nie jest dostępny" podczas wysyłania do nowego repozytorium?

D:\ws\testing [master]> git push -u origin master 
Counting objects: 3, done. 
Writing objects: 100% (3/3), 219 bytes | 0 bytes/s, done. 
Total 3 (delta 0), reused 0 (delta 0) 
remote: GitLab: API is not accessible 
To http://gitlab.ops.cld/duffrw/testing.git 
! [remote rejected] master -> master (pre-receive hook declined) 
error: failed to push some refs to 'http://gitlab.ops.cld/duffrw/testing.git' 

widzę w pliku /var/log/gitlab/gitlab-shell/gitlab-shell.log że API nie odpowiada, i dając „Internal Server Error”:

E, [2015-07-22T16:05:51.812454 #15110] ERROR -- : API call <POST http://127.0.0.1:8080/api/v3/internal/allowed> failed: 500 => <{"message":"500 Internal Server Error"}>. 

Kilka pytań ... Gdzie mogę przejść? Musi być jakiś dostawca usług, który nie działa. Dlaczego nie? Jak to się nazywa? Jak mogę to uruchomić?

Sprawdziłem w /var/log/gitlab/nginx/gitlab_access.log i znaleźć te linie, ale nie widzę nic ciekawego:

172.31.201.164 - - [22/Jul/2015:16:05:50 +0000] "GET /duffrw/testing.git/info/refs?service=git-receive-pack HTTP/1.1" 401 0 "-" "git/1.9.5.msysgit.1" 
172.31.201.164 - - [22/Jul/2015:16:05:50 +0000] "GET /duffrw/testing.git/info/refs?service=git-receive-pack HTTP/1.1" 401 0 "-" "git/1.9.5.msysgit.1" 
172.31.201.164 - duffrw [22/Jul/2015:16:05:51 +0000] "GET /duffrw/testing.git/info/refs?service=git-receive-pack HTTP/1.1" 200 179 "-" "git/1.9.5.msysgit.1" 
172.31.201.164 - duffrw [22/Jul/2015:16:05:51 +0000] "POST /duffrw/testing.git/git-receive-pack HTTP/1.1" 200 124 "-" "git/1.9.5.msysgit.1" 

nie ma żadnych błędów dla naciśnięciem tego repozytorium w /var/log/gitlab/nginx/gitlab_error.log i /var/log/gitlab/nginx/error.log jest całkowicie pusty .

Czego mi brakuje?

Aktualizacja:

pomocą polecenia gitlab-ctl tail jest bardzo przydatny! Ujawniło to ślad stosu, który wysłałem do GitLab i powiedzieli mi, że to błąd w 7.12.00. Naprawiono w 7.13.00.

+0

Czy byłeś w stanie go rozwiązać? Mam ten sam błąd w tej samej wersji. – RayofCommand

+1

@RayofCommand, tak, zrobiłem. Rozmawiałem z obsługą i naprawili mnie. Musiałem tymczasowo wyłączyć Git Hooks, aż pchnęłam, w którym momencie ponownie włączyłem haki. – Duff

Odpowiedz

6

Musisz ustawić poprawny adres URL dla interfejsu API GitLab w plikach konfiguracyjnych GitLab.

Jak możemy zobaczyć w twoim gitlab-shell.log twój adres API jest obecnie ustawiony na http://127.0.0.1:8080/. Jeśli zmienisz domyślny adres URL, w którym działa GitLab lub zmienisz jego domyślny port, musisz go zmienić.

Ten parametr jest konfigurowalny w /etc/gitlab/gitlab.rb:

## GitLab URL 
##! URL on which GitLab will be reachable. 
##! For more details on configuring external_url see: 
##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab 
external_url 'http://127.0.0.1:3000' 
[...] 

Jest to wartość domyślna (porto 3000 to wartość domyślna w GitLab omnibus dla unicorn). Po aktualizacji musisz uruchomić sudo gitlab-ctl reconfigure, aby zastosować ten parametr.

Zastąpi plik opt/gitlab/embedded/service/gitlab-shell/config.yml, jak wspomniano w jego komentarzach nagłówka.

3

Wystąpił ten problem podczas hostowania naszego gitlab na "silniku obliczeniowym" z chmury Google. Przyczyną tego zachowania nie było skonfigurowanie "wymiany" w naszym komputerze. Gitlab nie był w stanie przydzielić dodatkowej pamięci.

Zdecydowaliśmy się skalować naszą pamięć zamiast tworzenia partycji wymiany, ale to twój wybór ... :)

0

My spotkaliśmy to często z opóźnieniem. To na pewno GitLab zabrakło pamięci. Nie jesteśmy jeszcze w stanie określić, czy GitLab powoduje wyciek pamięci, czy też nasza instancja serwera jest niedostarczona.

0

Mam podobne problemy w Bitnami.Mam wznowiona wszystkie rzeczy i rozwiązał ten problem za pomocą

/opt/bitnami/ctlscript.sh restart 
9

przypadku korzystania gitlab.com serwer albo jest aktualizowany lub mających problemy.

Możesz sprawdzić https://status.gitlab.com w poszukiwaniu aktualizacji od zespołu GitLab.

Jest też konto Twitter można śledzić: https://twitter.com/gitlabstatus

+0

To zależy od tego, czy używany jest oficjalny serwer GitLab, czy też GitLab jest uruchamiany na niezależnym serwerze, a który z tych dwóch programów jest aktualizowany w tym momencie, ale tak właśnie było w przypadku mnie. – timelmer

+0

Widziałem ten problem już teraz, i tak gitlab.com pokazuje, że jest w trakcie konserwacji, to naprawdę może być powód! –

+0

I możesz zobaczyć status gitlab.com przez https://twitter.com/gitlabstatus –

1

Restart serwisowanie gitlab rozwiązać mój problem.

sudo gitlab-ctl restart 

sudo gitlab-ctl reconfigure