Mercurial auf Jenkins, installieren und konfigurieren

8

Ich habe ein Mercurial-Repository (auf Bitbucket) mit etwas Code (Java) und ich möchte CI-Builds auf einem Cloud-basierten Jenkins-Server (bei Jelastic, der auf CentOS läuft) erstellen. Mein Problem ist, dass ich keine korrekte Installation von Mercurial auf dem Jenkins-Server durchführen konnte.

Der Jenkins-Build schlägt mit der folgenden Meldung fehl:

  

FEHLER: Fehler beim Klonen von Ссылка , weil hg nicht gefunden werden konnte; Überprüfen Sie, ob Sie Ihre Mercurial-Installation ordnungsgemäß konfiguriert haben.

Einstellungsinformationen

  1. Es ist ein privates Mercurial-Repository, das bei Bitbucket gehostet wird
  2. In Bitbucket habe ich einen Service eingerichtet, um den Jenkins-Build auszulösen, nachdem ein Push stattgefunden hat
  3. Ich habe in meinem Mercurial-Repository einen bestimmten bitbucket jenkins-Benutzer definiert, der nur Leserechte hat und sich mit einfacher https-Authentifizierung
  4. anmeldet
  5. Jenkins läuft auf einem Tomcat 7, gehostet in einer Jelastic Cloud-Umgebung, auf CentOS 6
  6. Das Mercurial-Plugin wurde über die Jenkins-Schnittstelle von Manage plugins
  7. installiert
  8. Der Build wird so konfiguriert, dass er remote ausgelöst wird (durch den in Bitbucket definierten Dienst)
  9. Build-Ergebnisse sind die gleichen, wenn sie manuell gestartet werden und wenn sie von einem Push zum Repository ausgelöst werden

Als ich das zuerst gemacht habe, hatte ich den Eindruck, dass die Installation des Mercurial-Plugins in Jenkins ausreichen würde, dass es auch die benötigten Mercurial-Binärdateien installieren würde, um eine Verbindung zum Repository herzustellen und den Code zu erhalten. Ich habe festgestellt, dass ich falsch lag und auf der Seite Jenkins verwalten / System konfigurieren muss ich meine Mercurial-Installation angeben.

Fragen

  • Ist es möglich, eine Mercurial-Installation ohne ssh-Zugriff zu erstellen und ein "yum install mercurial" auszuführen?
    • Was kann ich bei der Jenkins-Schnittstelle angeben, wenn ich die Option "Automatisch installieren" auswähle?
    • Beim Definieren eines Installers habe ich mit der Option "zip / tar.gz extrahieren" experimentiert, aber was kann ich als "Download URL für binäres Archiv" schreiben?
    • Jenkins bietet auch eine Installer-Option von "Run command" an. Was für Befehle könnte das sein, vielleicht ein "yum install ..." oder "rpm ..."?

Da mein Server cloudbasiert ist, ist der Zugriff auf ssh ein kostenpflichtiges Add-on, das ich lieber vermeiden würde. Aber wenn das meine einzige Option ist, werde ich es natürlich tun und dadurch Zugriff auf laufende Befehle auf dem Server bekommen. Die Ausführung von "yum install mercurial" auf Centos scheint jedoch nur die Version 1.4 von Mercurial zu enthalten. Aktuelle Version, wenn ich das schreibe ist 2.6.3, müsste ich die Quellen herunterladen und selbst kompilieren oder ist es möglich, das irgendwo für Centos als Binärdatei zu bekommen?

    
xmik 19.07.2013, 13:34
quelle

1 Antwort

2

Auf der Seite Mercurial Plugin finden Sie einen Abschnitt, in dem Sie die Auto-Installationsoptionen zur Installation von Mercurial mit ArchLinux-Paketen verwenden.

  

"Das Plugin unterstützt generische Tool-Autoinstallationsmethoden für Ihre Mercurial-Installation, veröffentlicht jedoch keinen Katalog von Mercurial-Versionen. Für Benutzer von Linux-Maschinen (mit vorinstalliertem Python) können Sie ArchLinux-Pakete verwenden. Zum Beispiel, in / konfigurieren Sie unter Mercurial-Installationen, fügen Sie eine Mercurial-Installation mit dem von Ihnen gewünschten Namen hinzu, Executable = INSTALLATION / bin / hg, Automatisch installieren, Befehl ausführen, Label = linux (falls dies auf Slaves beschränkt ist, die mit demselben Label konfiguriert sind), Command = [-d usr] || wget -q -O - Ссылка | xzcat | tar xvf - (oder ... / x86_64 / ... für 64-Bit-Slaves), Tool Home = usr, und einen Job mit dieser Installation für einen Linux-Slave konfigurieren. "

siehe Ссылка

    
kraffenetti 10.09.2013 14:51
quelle

Tags und Links