Buildbot — паровозик, который смог

Little Engine Buildbot

Сказка

Girl
Dialog 1
Dialog 2
Dialog 3
Dialog 4

Что есть buildbot?

Концепция фраемворка

  • бери только то, что нужно
  • проще расширять

Конфиг на python

  • модульность
  • git (версионирование)
  • code review

Знать в лицо (buildbot.python.org/all/waterfall)

Tips and Tricks

Lego Robot

Только через мой git!

Buildbot Self Update

Прощай, копипаста!

Циклы наше всё


for board, f, b in build_branches:
        f1 = factory.BuildFactory()
        f1.workdir="system"
        f1.addStep(
            Repo(manifest_url=url, manifest_branch=b, manifest_file=f,))
        f1.addStep(
            Compile(name="clobber old output",command="rm -rf out"))
        f1.addStep(
            Compile(
                name="compile everything",
                command=buildcommand))
        builddir="%s_%s" % (board, manifest_file)
        b1 = BuilderConfig(
                           name=builddir,
                           slavenames=slaves,
                           builddir=builddir,
                           factory=f1)
        builders.append(b1)
                        

Конец