问题标签 [buildbot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
197 浏览

python - buildbot中的编译命令生成python可执行文件

有很多文章讨论如何在 Windows 上通过命令行(通过使用 py2exe 等)从 Python 脚本创建可执行 (.exe) 文件。但是,我没有任何运气找到如何使 buildbot 工具在每次运行时自动从 Python 脚本创建可执行文件。

我在 Windows XP 上运行 buildbot 工具。

是否有编译命令来配置 buildbot 中的 master.cfg 以生成 python .exe 文件?

0 投票
2 回答
1946 浏览

mercurial - 是否有任何使用 Mercurial 的 buildbot 的工作示例

正在使用的 buildbot 版本是:

Checkconfig,给我错误:

这是我看过的一个例子:

http://agiletesting.blogspot.com/2006/02/continuous-integration-with-buildbot.html

0 投票
2 回答
387 浏览

linux - buildbot 安装:git poll 失败

我有一个小问题。

我想安装 buildbot 所以我跟着文档:http ://buildbot.net/buildbot/docs/latest/Installation.html

对于master.cfg,我只是复制示例。

但是当我启动 BuildBot 时,我明白了:

我不知道为什么?

如果你有想法,

谢谢。

0 投票
4 回答
1635 浏览

python - 从头开始构建机器人

应该是愚蠢的,因为每个人似乎都没有麻烦地安装它。我花了几个小时在新鲜的挤压中尝试了不同的配置(easy_install、aptitude 和来自源代码 0.81p.tar.gz),我得到的最好的结果是来自 localhost:9989 的页面,没有任何从属启动。

知道我创建了 2 个帐户:buildmaster 和 buildslave 如何清理并重新安装它以获得服务器和 1 个 git 从属?

提前致谢


添加 :

您是对的,缺少一些细节:

我使用来自 virtualBox 的 buildbot 和 32 位的 Debian Squeeze 6.0 两个帐户:buildmaster 和 buildslave 都在同一个虚拟环境中运行。

我只是尝试了这个小例子(这看起来很有趣):easy_install buildbot buildbot create-master /tmp/experimental_buildmaster buildbot start /tmp/experimental_buildmaster

  1. 作为 root,jinja2 丢失了,而 buildmaster 没有抱怨(??)
  2. 评论了创建错误的 Git 调用以尝试开始最简单的演示
  3. buildslave create-slave /tmp/experimental_buildslave 127.0.0.1:9989 slave-name mypasswd
  4. 在日志中总是出现一些东西:“没有与主机名关联的地址”

看来我更接近这个没有?

0 投票
2 回答
272 浏览

svn - 不需要扭曲的 svn_buildbot.py 的替代方案?

我正在运行一些持续集成服务器。源代码库托管在Subversion上,buildbot会在每次提交后进行编译和测试。我的麻烦是我最近不得不将 SVN 服务器迁移到RedHat5系统。RedHat5 不分发twisted,也不分发zope(buildbot 的基本组件)。因此,SVN 的 post-commit 钩子脚本无法运行svn_buildbot.py,该脚本在每次提交后触发 buildbot。

有谁知道可以触发 buildbot 的 svn_builbot.py 脚本的替代方案,但这不需要扭曲和 zope?

0 投票
5 回答
38650 浏览

c++ - 用于 C++ 持续集成的 buildbot vs hudson/jenkins

我目前正在使用 jenkins/hudson 来持续集成一个主要是 C++ 的大型项目。我们为主干和每个分支都有单独的项目。此外,还有一些与 Java 代码相关的项目,但这些项目的设置现在相当基本(不过我们以后可能会做更多)。C++ 项目执行以下操作:

  • 使用是否重新配置、进行干净构建或使用全新结帐选项构建所有内容
  • 可选择构建和运行所有测试
  • 可选择使用 Valgrind 的 memcheck 运行所有测试
  • 运行 cppcheck
  • 生成 doxygen 文档
  • 发布报告:单元测试、valgrind、cppcheck、编译器警告、SLOC、打开任务和代码覆盖率(使用 gcov、gcovr 和 cobertura 插件)
  • 每晚或按需将代码部署到测试环境和包存储库

一切都可配置为自动构建和可选的按需构建。在下面,有一个 bash 脚本可以控制其中的大部分内容,这进一步取决于我们的构建系统,它使用 automake 和 autoconf 以及自定义 bash 脚本。

我们(当时)开始使用 Hudson,因为那是 Java 人正在使用的,我们只想要夜间构建。从那时起,我们添加了更多内容,并继续添加更多内容。在某些方面,哈德森很棒,但肯定不是理想的。

我查看了其他解决方案,唯一看起来可以替代的解决方案是 buildbot。buildbot 会更适合这种情况吗?既然我们已经在使用 Hudson,这项投资值得吗?为什么?

编辑:有人问我为什么没有发现 Hudson/Jenkins 是理想的。简短的回答是,一切都可以改进。我只是想知道 Jenkins 是否是我用例的当前最佳解决方案,或者是否有更好的东西(buildbot?)从长远来看更容易维护,即使出现新的需求也是如此。

0 投票
2 回答
292 浏览

compiler-construction - 用于本地和远程编译的集中式构建服务器

我在一个由几个开发人员组成的团队中,他们共享编译器工具链的许可证。我们遇到的问题是,在一位开发人员获得使用编译器的许可后,下一位开发人员可以使用编译器之前有很长的等待时间。这造成了很多浪费的时间和沮丧的人。

由于许可证非常昂贵,因此购买更多许可证不是一种选择。我希望通过设置一个中央编译器机器来更充分地利用许可证,您可以将作业推送到该机器并让机器完成工作。我们还在研究自动化构建以验证源代码。

我研究了 buildbot,它在自动化构建和测试方面似乎很成熟,但是在开发人员处于本地测试阶段之前使用它代替本地构建,然后将更改推送到远程存储库可能超出了它的范围。

理想情况下,该工具将能够位于 IDE 和编译机之间,以便在 IDE 看来,构建是在本地执行的。然后,如果出现任何警告/错误,我们仍然可以使用这些方便的功能来消除语法错误。

0 投票
1 回答
349 浏览

buildbot - 如何配置 buildbot slave 从防火墙后面运行?

是否可以从企业防火墙内部运行 buildbot-slave,您可以在标准 HTTP(s) 端口上仅创建传出连接?

我怎样才能做到这一点?

0 投票
3 回答
375 浏览

git - 如何从 Git 命令中获取分支?

可能重复:
仅显示 Git 中的当前分支

我正在将我的单调 DVCS 移动到 git。在我的构建设置中,我让 qmake 获取当前版本和当前分支(因为它们是在 buildbot 上构建的),以便它可以用作定义。

在 git 我可以这样做:

我的问题是“git show-branch --current”有提交消息和一个换行符,我的编译器不喜欢。我怎样才能让 git 更简洁?

0 投票
1 回答
288 浏览

buildbot - Buildbot - 两个调度器和一个构建器 = 双重签入电子邮件?

我有一个使用两个调度程序运行的构建机器人——一个由代码签入触发,另一个由内容签入触发;前者需要更短的 treeStableTimer。这两个调度器都触发了同一个构建器,但现在发生的情况是每个人每次签入都会收到两次构建通知邮件;一次用于代码调度程序,一次用于内容调度程序。

例如,如果以下签入进入... CL# 1000 12:00pm user_a (code) CL# 1001 1:00pm user_b (content) ...我们会在 CL#1000 上看到构建触发并发送构建给 user_a 的通知邮件。然后,构建将从 CL#1001 触发,并向 user_a 和 user_b 发送构建通知 - user_a 收到两个通知,表明他的签入成功,而他应该只收到一个。

我想进行设置,以便我们有两个调度程序,但是当构建器触发并发送电子邮件时,它会向自该构建器的最后一次构建以来签入的人数发送通知,而不是调度程序的最后一次构建。这在概念上似乎很简单,但我在文档或论坛中没有看到任何内容。

这样做的正确方法是什么?我们确实需要在同一个构建器上使用不同的 treeStableTimer,并且人们在构建完成时需要构建邮件通知,无论两个调度器中的哪个触发了构建器。