我最近一直在研究buildbot,并且缺少良好的文档和示例配置,这使得很难理解buildbot的用法。

根据buildbot手册,每个buildmaster负责1个代码库。这意味着要在10个项目上使用buildbot的公司需要维护10套不同的buildbot安装集(主从配置,开放端口,带输出的网站等)。这真的是做事的方式吗?我是否缺少创建易于维护和监视的混搭的选项?

谢谢!

最佳答案

在我的工作场所,我们使用Buildbot在多个架构和版本的Python上测试单个程序。我使用一个构建主服务器来监督大约16个从属服务器。每组从站都从不同的存储库中提取数据,并针对Python 2.X进行测试。

根据我的经验,配置一个构建母版来运行项目的混搭会很容易。这可能不是一个好主意,因为瀑布页面(生成从站报告结果的页面)可能会变得非常拥挤,导致多个从站不堪重负。如果您可以滚动浏览较长的瀑布页面,则不会有问题。

编辑:

master.cfg中的更新命令:

test_python26_linux.addStep(ShellCommand, name = "update pygr",
    command = ["/u/opierce/PygrBuildBot/update.sh","000-buildbot","ctb"], workdir=".")

000-buildbot和ctb是附加参数,用于指定从哪个分支和 repo 中提取信息。我编写脚本update.sh是为了避免不相关的git问题。如果您想运行其他项目,则可以编写如下内容:
builder1.addStep(ShellCommand, name = "update project 1",
    command = ["git","pull","git://github.com/your_id/project1.git"], workdir=".")

 (the rest of builder1 steps)

builder2.addStep(ShellCommand, name = "update project 2",
    command = ["git","pull","git://github.com/your_id/project2.git"], workdir=".")

(the rest of builder2 steps)

这两个项目不必关联。 Buildbot为每个构建器创建一个目录,并运行该目录中的所有步骤。

关于buildbot - 如何在公司中扩展buildbot,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1219757/

10-11 00:39