0

Ich bin neu in dieser Sache der kontinuierlichen Integration. Ich möchte Jenkins als mein CI-System verwenden, aber ich kann es nicht schaffen, jedes Mal, wenn es ein neues gibt, den Build zu ziehen.TortoiseHG mit Jenkins synchronisieren

Mit dem mercurial-Plugin kann ich eine Verbindung zu meinem Repository herstellen und meine Builds normal abrufen, aber ich möchte nicht, dass Jenkins polling bleibt. Ich möchte, dass der Build nur aktualisiert wird, wenn stattdessen ein neuer erstellt wird. Auf der Wiki-Plugin fand ich diese:

Ab Version 1.38 ist es möglich, Benachrichtigungen anstelle von Polling-Builds werden mit Push auszulösen. In Ihrem Repository .hg/hgrc Datei add:

[hooks] 

    commit.jenkins = wget -q -O /dev/null <jenkins root>/mercurial/notifyCommit?url=<repository remote url> 
    incoming.jenkins = wget -q -O /dev/null <jenkins root>/mercurial/notifyCommit?url=<repository remote url> 

Vorerst Jenkis lokale Ich behalte, so habe ich diese o meine hgrc Datei:

commit.jenkins = wget -q -O /dev/null http://localhost:8080/mercurial/notifyCommit?url=<my repository remote url> 
incoming.jenkins = wget -q -O /dev/null http://localhost:8080/mercurial/notifyCommit?url=<my repository remote url> 

aber baut nicht ausgelöst werden. Könnte mir jemand helfen?

[UPDATE]

Ich habe nicht darauf geachtet zu dem wget-Befehl, der nicht auf Windows vorhanden ist. Installierte es und es ist immer noch das Gleiche. Jenkins zieht die Builds nicht.

+2

Sind Sie auf Linux oder Windows zu begehen? –

+2

Wind0ze hat standardmäßig kein wget –

+0

Oh, es ist Windows. Entschuldigung, haha! Benutze ich Cygwin, um das Problem zu lösen? – Pedro

Antwort

1
  1. Sie müssen auf PATH wget haben (ich werde nativen Port von GOW empfehlen, nicht Cygwin - oder Bash in Win10)
  2. Ihre Haken muss in Arbeitszustand sein
  3. wget ... muss das erwartete Ergebnis produzieren

Sie haben drei nun zwei mögliche Fehlerpunkte und haben alle unabhängig


testen
  • Funktioniert mein Haken?

Ersetzen Sie Ihren aktuellen Inhalt von Haken mit stummen Knüppeln wie

commit.jenkins = echo Commit hook here 
    incoming.jenkins = echo Incoming hook here 

und Testhaken (in Konsole für eine bessere Sichtbarkeit), indem mit zusätzlichen Haken in Repo-Ausführung begehen und ziehen | Push-to-it | alles entbündeln. Wenn Sie Hakenausgabe sehen - sie sind verwendbar

  • Funktioniert Jenkins Integration?

Nach verpflichten Sie Repo können von Hand Aufgabe Haken ausführen: laufen wget -q -O /dev/null ... und Prüfergebnissen in Jenkins

+0

Hat genau das getan, was du mir gesagt hast. Jetzt funktionieren die Haken richtig. Aber wenn wget ausgeführt wird, sagt die Konsolenmeldung "/ dev/null: Keine solche Datei oder Verzeichnis". – Pedro

+1

@PedroCorso - '/ dev/null' ist * nur Nix Blackhole. Win-Version - 'nul:' –

+0

arbeitete wie ein Charme! Danke für die Hilfe! – Pedro