Jenkins - Ausführen eines einzelnen Jobs sowohl im Master als auch im Slave

8

Ich habe einen Master (Linux) und einen Windows-Slave eingerichtet und möchte einen einzigen Job sowohl auf dem Master als auch auf dem Slave aufbauen. Die Option "Beschränken, wo dieses Projekt ausgeführt werden kann" ermöglicht uns, den Job an einen bestimmten Slave zu binden, aber ist es möglich, einen Job sowohl an den Master als auch an den Slave zu binden? Wie würde man den "Build Step" konfigurieren, da die Ausführung unter Windows einen Build mit Windows-Batch-Befehl erfordert und Linux Shell-Befehl benötigt. Zum Beispiel, selbst wenn der Job versucht, auf Master und Slave zu laufen, würde es nicht an einem Punkt fehlschlagen, da beide Build-Optionen (mit Stapel- und Shell-Befehl) ausgeführt werden?

    
Pythomania 09.02.2012, 16:12
quelle

1 Antwort

12

Nun, in Jenkins können Sie Gruppen von Maschinen (entweder Master oder Slaves) erstellen, um dies zu tun:

  • Klicken Sie auf den Maschinennamen auf der ersten Seite von jenkins
  • Geben Sie in das Knotenkonfigurationsmenü
  • ein
  • Dann können Sie einige Etiketten in das Feld Labels eingeben. Fügen wir zum Beispiel ein mutli_platform Label hinzu
  • gehe zurück zur ersten Seite von Jenkins
  • tun Sie es für jede Maschine, auf der Sie den Job ausführen müssen
  • gehe zurück zur ersten Seite von Jenkins
  • Klicken Sie auf den Job, den Sie auf mehreren Knoten ausführen möchten
  • gehe in das Konfigurationsmenü
  • check die Restrict where this project can be run und setze die mutli_platform darin.

Dann kann Ihr Build auf dem Label mutli_platform ausgeführt werden.

Für den zweiten Teil, das Multi-Plattform-Skript, können Sie Ameisen-Builds oder Python-Builds verwenden (mit dem Python-Plugin ).

EDIT: Wenn Sie auf den 2 (oder mehr) Plattformen aufbauen müssen, sollten Sie ein Matrix Job . Sie können einen Job erstellen und erzwingen, dass er auf jedem Slave ausgeführt wird, den Sie benötigen.

    
Cédric Julien 09.02.2012, 17:06
quelle

Tags und Links