Lassen Sie Jenkins build-Projekt von einem Mercurial Begehen
Gibt es eine Möglichkeit, geben Sie einen Haken in das repository?
Nun haben wir angegeben den Haken in der "/etc/mercurial/hgrc" - Datei, aber jedes mal, es baut zweimal, und es baut für jeden commit in jedem repository.
So, wir wollen geben Sie eine build pro repository.
Dies ist, wie wir umgesetzt der Haken:
[hooks]
changegroup = curl --silent http://jenkins:8080/job/ourProject/build
Dass es auf einem Ubuntu-server.
- Wenn Sie eine Menge von Projekten ein einfacher Weg sein könnte, um zu verwenden, eine Community edition der web-Oberfläche (RhodeCode), mit schöner Jenkins-management finden Sie hier: stackoverflow.com/questions/41035844/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie der Erstellung in der .hg-Verzeichnis
/home/user/mercurial/.hg/hgrc
und fügen Sie Haken wie:Sollten Sie sicherstellen, dass
Ihre Jenkins-Projekt nicht Umfrage
Verwenden Sie die richtige notifyCommit URLs für Ihre Mercurial Haken: https://wiki.jenkins-ci.org/display/JENKINS/Mercurial+Plugin
Ok, habe ich gefunden, was ich suchte (ich bin der bounty; mein Fall ist Mercurial mit einem spezifischen Zweig).
In der Haupt - /origin-repository, legen Sie den Haken mit Ihrer gewünschten build-Skript. Pregroupchange aufrecht zu erhalten, die eingehenden änderungen. Ich habe eine rhodecode installiert, die auf das Haupt-repository und sich hat seinen eigenen Haken.
In dieser Weise habe ich das noch auslösen Jenkins und immer noch haben die änderungen nach der Auslöser für rhodecode push-Benachrichtigungen und andere.
In der Skript, legen Sie Ihre gewünschten Aktionen, auch ein Auslöser für Jenkins. Vergessen Sie nicht, aktivieren Sie in
Jenkins:Job:Configure:Build Triggers:checkbox
Trigger baut Remote + setzen hier Ihredesired_token
(für meinen Fall: Mercurial).Weil Sie nicht trigger nur auf einen bestimmten Zweig in der Mercurial, ich fand den branch-Namen in dieser Weise. Auch, ausgelöst von einem remote-Skript, das Sie brauchen, um in Jenkins Lesen-Berechtigung für anonyme insgesamt, oder erstellen Sie einen bestimmten Benutzer mit Anmeldeinformationen, und setzen Sie Sie in den trigger-URL.
Bash Beispiel:
Zur ursprünglichen Frage:
In dieser Art und Weise führen Sie nur aus einer bauen, für eine gewünschte Niederlassung. Haken sind eigentlich nur für das Haupt-repository bei der Arbeit mit mehrere Klone und mehrere Entwickler. Sie können Ihre lokalen Haken, aber nicht auslösen Jenkins von Ihnen vor Ort, für jeden Entwickler. Trigger Jenkins nur aus dem main-repository, wenn ein Stoß kam (commit, eingehenden und groupchange). Ihre lokale hooks sind für andere Dinge, wie E-Mails, Protokolle, Konfiguration, etc.