Gitlab wird lokal auf meinem Server gehostet. Wenn ich einen Commit drücke, funktioniert der Post-Receive-Hook nicht. Ich machte den Besitzer des Hooks git:git
und machte es ausführbar. Wenn ich die Datei manuell ausführe, funktioniert es.Gitlab führt Post-Receipt-Hook nicht automatisch aus
Antwort
GitLab führt das benutzerdefinierte post-receive
aus, solange es im Verzeichnis des Repos gespeichert ist und sowohl das Verzeichnis als auch die Datei im Besitz von git
sind. Stellen Sie außerdem sicher, dass Ihr Hook eine Eingabe auf stdin erwartet, nicht über Standardargumente - ich sage dies, da Sie erwähnt haben, dass Sie das Skript manuell ausführen und es funktioniert.
Leider benutzerdefinierte post-receive
Fehler sind nicht so einfach zu debuggen. Ein pre-receive
Fehler würde zurück an den Client gesendet werden. Ich schlage vor, viele eigene Logging-Funktionen hinzuzufügen, damit Sie genau sehen können, was passiert. Lege das erste Log direkt nach dem Shebang, damit du weißt, dass dein Haken ausgeführt wurde.
Die Dokumente bei https://docs.gitlab.com/ee/administration/custom_hooks.html#custom-git-hooks haben hilfreiche Schritte, wenn Sie sie nicht schon gesehen haben.
- 1. Gitlab CI führt keine npm-Skripte aus
- 2. Warum führt Ruby nicht automatisch to_s aus?
- 3. QtCreator führt CMake automatisch aus
- 4. Xcode führt automatisch den Build-Vorgang aus
- 5. So führen Sie Tests automatisch in GitLab CI mit gitlab-ci-multi-runner aus
- 6. ANTLR führt nicht automatisch Lookahead-Abgleich durch?
- 7. Gitlab automatisch zusammenführen, wenn Build erfolgreich funktioniert
- 8. Unterstützung für automatisch generierte "Versionshinweise" in GitLab
- 9. Gitlab Ci: execute automatisch before_script Aktionen
- 10. HTMLDOC führt nicht aus PHP
- 11. Selen führt Javascript nicht aus
- 12. TestRunner.run() führt testst nicht aus?
- 13. Führt Haskell SIMD-Optimierungen automatisch durch?
- 14. Bereitstellung von der Azure-Website aus GitLab
- 15. AlarmManager führt BroadcastReceiver nicht immer aus
- 16. String-Literal führt nicht ordnungsgemäß aus
- 17. CreateProcessAsUser führt die Anwendung nicht aus
- 18. RelativeLayout führt "match_parent" und alignBottom nicht aus
- 19. Cronjob führt Script nicht korrekt aus
- 20. Warum führt MSBuild mehrere Ziele nicht aus?
- 21. Fragment führt AsyncTask beim Start nicht aus
- 22. Führt Java die Dinge nicht asynchron aus?
- 23. Android AsyncTask führt doInBackground nicht aus
- 24. EJB-Timer führt Auftrag nicht aus
- 25. JSP-Servlet führt DoPost-Methode nicht aus
- 26. PyODBC führt gespeicherte Prozedur nicht aus
- 27. Maven fail-safe führt Tests nicht aus
- 28. Warum führt dieses Javascript nicht aus
- 29. Meteor führt die erstellte App nicht aus
- 30. while-Schleife führt scanf nicht aus()
Besitzer sollte aktueller Benutzer sein, aber die wichtige Sache ist, es mit 'chmod 755' ausführbar zu machen. – MaNKuR
Ich habe Datei bereits ausführbar gemacht –