2016-06-09 4 views
1

Ich habe einen Builder, dem mehrere Build-Slaves zugewiesen sind, da die Maschinen ungefähr homogen sind. Ich habe auch einen Force-Scheduler-Setup auf diesem Builder. Manchmal möchte ich den Build zwingen, auf einem bestimmten Build-Slave zu laufen. Ist das möglich?Wie kann ich einem bestimmten Build-Slave einen erzwungenen Build zuweisen?

Zum Beispiel kann ich die Felder Name und Wert des Force-Build-Formulars auf der Statusseite des Builders verwenden?

+0

Haben Sie versucht, die Funktion [nextWorker] (http://docs.buildbot.net/latest/manual/cfg-builders.html) für den Builder (nextSlave in 0.8) zu schreiben? Ich denke, dass Sie Funktor schreiben können, der den Builder basierend auf Buildanforderungseigenschaften auswählen wird. – rutsky

Antwort

1

Verwenden Sie BuildSlaveChoiceParameter() in Ihrem Force-Build-Scheduler innerhalb von master.cfg.

Unten ist ein Beispiel aus der Dokumentation bei http://docs.buildbot.net/0.8.12/manual/cfg-schedulers.html#buildslavechoiceparameter

from buildbot.plugins import util 

# schedulers: 
ForceScheduler(
    # ... 
    properties=[ 
     BuildslaveChoiceParameter(), 
    ] 
) 

# builders: 
BuilderConfig(
    # ... 
    canStartBuild=util.enforceChosenSlave, 
) 

Diese Sie auf der Web-Interface ein Pulldown gibt, die die Sklaven dieser Scheduler als Auswahl zugewiesen hat.

+0

Sehr nett. Das wäre perfekt, wenn es so funktioniert, wie du sagst. Ich werde es akzeptieren, sobald ich es testen kann. Vielen Dank! – Eric

+0

Funktioniert wie beschrieben. Ich würde nur hinzufügen, dass es auch getan werden muss: 'from buildbot.schedulers.forcedared import BuildslaveChoiceParameter' wenn Sie nicht alles importieren bereits von craftched. – Eric

Verwandte Themen