我最近一直在研究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/