2016-04-29 7 views
0

Ich weiß, dass diese Frage in verschiedenen Thema geschrieben ist.Aber mein Fall ist ein bisschen anders.Run Jenkins Build, wenn git commit fertig ist

Ich möchte mein Testziel auslösen, wenn ein Commit von Jenkins erkannt wird. Die meisten Tutorials im Internet zeigen, wie man dies mit WebHook macht.

In meinem Fall habe ich zwei Probleme:

1) Ich habe nicht die Option "Trigger Build, wenn ein Commit erkannt wird" finden

enter image description here

2) Alle Tutorials über die Konfiguration Webhook sprechen , von Git-URL. In meinem Fall ist mein Git-Repository lokal und ich hatte keinen Zugriff auf das Web-Interface. Also wie mache ich dasselbe manuell?

Thank ou im Voraus

Konfiguration:

  • Jenkins Server 1.651.1
  • Git Plugin 2.4.4,
+0

Wenn Ihr Repository lokal ist, wie wird Jenkins Überprüfung für den Aufbau der neuen Version aus? Normalerweise würden Sie einen Git-Hook auf dem Server konfigurieren, um Jenkins mitzuteilen, dass ein Push stattgefunden hat, und es sollte nach etwas Interessiertem suchen. Wenn Sie nur ein lokales Repository haben, müssten Sie dies bei Commits tun - also nach dem commit.hook. Unter https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks finden Sie Informationen zu Git-Hooks. – patthoyts

+0

Jenkins und Git Repo sind in der gleichen Maschine :) – user3021914

Antwort

0

Sie tun es in ein wenig anders Weg:

Sie verwenden ein Web-Hook, um zu erfassen, wann ein neuer Git-Commit gemacht wurde, und im Hook starten Sie den Jenkins-Job mit der Rest-API.

https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API

alles darüber hier lesen:

http://kohsuke.org/2011/12/01/polling-must-die-triggering-jenkins-builds-from-a-git-hook/

+0

Hallo, danke für Ihre Antwort. Ich werde es versuchen. Aber das beantwortet nicht meine erste Frage. Warum in Jenkins Jobs konnte ich nicht die Option "Trigger Build, wenn eine Festschreibung festgestellt wird" "gefunden? – user3021914

+0

Verwenden Sie einen Pull-Job? Jenkins automatisch startet einen Build, wenn es ein Pull-Job ist. – CodeWizard

+0

Ich habe einen Pull-Job konfiguriert , aber da die URL von Git Repo lokal Jenkins Server ist, zeigte es eine Nachricht No git jobs mit Repository: \\ msxxxx \ Git-Repositories $ \ test.git und Verzweigungen. No Git Verbraucher mit SCM API-Plugin für \\ msxxxx \ Git-Repositories $ \ test.git. Kann es sein, sollte ich es auf eine andere Weise schreiben? – user3021914

Verwandte Themen