Search code examples
buildbot

How can I assign a forced build to a particular build slave?


I have a builder to which several build slaves are assigned since the machines are roughly homogeneous. I have a force scheduler setup on this builder as well. Sometimes, I would like to force the build to run on a particular build slave. Is this possible?

E.g., can I use the name and value fields of the force build form on the builder's status page?


Solution

  • use BuildSlaveChoiceParameter() in your force build scheduler inside of master.cfg.

    Below is an example from the docs at 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,
    )
    

    This gives you a pulldown on the web interface which has the slaves assigned to this scheduler as choices.