2012-04-04 23 views
5

Ich benutze Jenkins und ich möchte meine Tests automatisch nach jedem Commit ausgeführt werden.Führen Sie Tests in Jenkins automatisch nach jedem Commit (Änderung)

folgte ich die Anweisungen in dem folgenden Link:

http://blog.cloudbees.com/2012/01/better-integration-between-jenkins-and.html

I Let Jenkins geklickt Haken URLs in globaler configuearion/Githup Web Haken Auto-Verwaltung und ich meine Benutzername und das Passwort für githup hinzugefügt, aber immer noch nach Änderungen und Pushing zum Repo, meine Tests laufen nicht!

Github Hook-Protokoll: Der Abruf wurde noch nicht ausgeführt.

Gibt es etwas, das ich vergessen habe?

P.S. Ich kann meine Tests manuell ausführen (Klicken Sie auf Jetzt erstellen) und ich kann meine Commits (Änderungen) sehen, wenn ich meinen Test erstelle.

Antwort

2

Ich würde zuerst überprüfen, ob die post-receive URL wirklich von Jenkins gesetzt wurde. Rufen Sie github.com/YOURNAME/REPO/admin/hooks auf und öffnen Sie Post-Receive-URLs

Wenn es nichts gibt, können Sie den Anweisungen oben folgen, wie Sie den Hook selbst installieren.

Wenn der Haken in github.com ist, versuchen Sie, auf die Schaltfläche Test Hook klicken. Hat es einen Build ausgelöst?

Wenn der Build immer noch nicht funktioniert, überprüfen Sie, ob sich zwischen github und Ihrem Jenkins eine Firewall befindet, die github.com daran hindern könnte, sich mit Ihren jenkins zu verbinden.

Weitere Informationen über das Debuggen Github Haken ist an http://help.github.com/post-receive-hooks/

+0

Ich habe http: // localhost: 8080/github-webhook/in den Post-Receive-URLs, aber wenn ich auf Test Hook klicke, werden meine Tests nicht erstellt! Sollte ich "Gem Install Hook" ausführen? – Shahrzad

+0

Ich denke, das Problem, wie Sie erwähnt haben, sollte über die Firewall sein! Wenn ich auf Github Web Hook/Override Hook URL klicke, heißt es "Wenn Jenkins in der Firewall läuft und nicht direkt vom Internet aus erreichbar ist, richte einen Reverse Proxy, Port Tunneling und so weiter ein, damit GitHub eine POST Anfrage stellen kann Ihre Jenkins unter http: // localhost: 8080/github-webhook /. Geben Sie dann die URL an, an die GITHUB anhängen soll. " Was ist die Lösung dann? – Shahrzad

+5

Die Adresse, die Sie in Post-Receive-URLs konfigurieren, kann nicht den Hostnamen ** localhost ** haben. Wenn Sie Github anweisen, ** localhost ** zu benachrichtigen, versucht es sich selbst zu benachrichtigen. Dein Jenkins läuft wahrscheinlich in deinem Computer, nicht in Githubs. Sie müssen Ihre Jenkins von Github aus zugänglich haben. Sie benötigen einen extern zugänglichen DNS-Namen oder eine IP-Adresse für Ihren Computer. Sie müssen Ihren ISP oder Netzwerkadministrator danach fragen. – sti

1

ich gleiche Problem zu lösen, dass ich eine Umfrage SCM Baut Trigger hinzufügen und Planen es für jeden 2 min H/2 * * * *

Verwandte Themen