问题标签 [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 投票
0 回答
263 浏览

git - 通过 ssh 和 buildbot 使用 git 子模块

我有一个 git 存储库,其中包含与不同的外部 git 服务器链接的子模块。如何为每个子模块和用户传递 ssh 身份验证?我可以为 Buildbot 中的每个子模块设置单独的选项吗?

我可以自动签出必要分支上的每个子模块吗?我可以一次查看根更改日志,还可以查看每个子模块的更改日志吗?

0 投票
1 回答
408 浏览

python - 奇怪的 buildbot python 行为

编辑一些解释: buildbot 是 python 中的一个连续集成系统,可以通过 Web 界面控制。在此 Web 界面中,您有一个“瀑布”页面,您可以在其中选择特定构建器并使用“强制构建”按钮触发构建。

网址:http ://trac.buildbot.net/

背景:我们有一组构建器,它们是连续的(每隔几分钟检查一次是否发生更改,如果是,则重新构建)或每晚(每晚构建)。到目前为止,我们的系统对于每个项目只有一个特定的企业构建器。这是通过强制每个项目必须在一个恒定的 URL 下找到的,例如

然后当一个项目需要企业构建时,您需要选择一个项目 XYZ 并且构建机器人假定该项目需要在

这是非常严格的,我想重新配置项目可以位于不同 URL 下的 buildbot。在由“buildbot start master”启动的构建器的设置过程中,我们项目的配置文件被读取并存储在 ConfigParser 对象中。在下面的源代码中,我想使用的 clzoptions var 和我的 URL 应该是

对于项目 XYZ。我现在在测试项目的“svnBaseURL”条目下添加了不同的 URL。现在,我在创建构建器的 python 类中遇到了一些我不太了解的东西。首先是来源:

我已经把它归结为核心问题,里面还有更多的建设者。关键函数是self.enterprise_checkout_url(WithProperties('%(project)s'))。

如果我在瀑布中使用项目名称“XYZ”调用该构建器,我会得到结果

对于 ShellCommand。虽然这很荒谬,因为它不是 URL,但我看到参数 curProjectName 的计算结果为“XYZ”。到目前为止很容易,对吧?现在让我们更改该功能...

并得到

这几乎是我需要的东西,

是正确的道路。但关键是不变的,我需要它是可变的。但至少我知道字典存在并且有正确的 XYZ 条目。

现在这个问题我根本不明白。

让我们现在试试

哎呀,他没有建立

好的,在编译阶段 curProjectName 可能没有设置,怎么样:

编译。我正在获取我的所有项目,测试 curProjectName 是否正确,然后返回我的 svnBaseURL,项目密钥应该等于 curProjectName。但我得到:

到你了。我曾尝试在 curProjectName 上使用 str()、repr()、eval(),但无济于事。我无法同时访问现有字典和 curProjectName。

0 投票
1 回答
3738 浏览

html - 如何自定义 buildbot 网页

我正在尝试为测试构建机器人制作一些额外的网页,因为我计划让一个运行我的项目。

实际上,我希望有一个瀑布页面,显示构建特定构建器的按钮,靠近构建名称,而不是仅在构建器页面中。我还想从构建器工作文件夹中以及从机上的其他位置加载一些参考文档;使用按钮来显示或隐藏它们。

我查看了手册,但没有看到任何关于如何自定义或创建新 html 页面的信息,这些页面可以利用 Buildbot 功能(就像 Buildbot 中已经包含的模板一样)。

我打开了一些页面,发现有一些 html 文件实际上包含非 html 代码语句,例如

等等。我不是网络程序员,所以我对我应该寻找什么一无所知。尝试用谷歌搜索macroHTML 一词,我得到了一堆与 Wiki 自定义相关的结果;它看起来不像是 Python 语言,所以我很迷茫。

有没有人能够成功地为 buildbot 制作自定义页面,并且可以给我一些关于学习什么的指示?

0 投票
1 回答
255 浏览

windows - 用于测试开源项目的 Windows 云实例?

我使用开源构建工具 SCons (www.scons.org)。我们做测试驱动的开发,我们有一个 buildbot,但我们总是缺少 Windows buildslaves。我们想要(在一个完美的世界中)一个包含不同 python 版本、不同编译器等的大型集合。是否有任何免费或近乎免费的基于云的 Windows 实例可以与 buildbot 一起使用?我看过 Azure 和 Amazon EC2 —— EC2 微型实例目前似乎是我们最好的选择,但我想知道是否有任何真正免费的东西,例如用于开源项目测试的啤酒。有没有人做过类似的事情有经验分享一下?

0 投票
1 回答
284 浏览

continuous-integration - 使用 buildbot 批量重建

我已经使用 buildbot 几个月了,我真的很满意。它与 github 连接。

我正在开发图像处理软件,处理时间非常重要。直到最近,我还在进行自动构建 + 测试,现在我正在监控测试所花费的时间。

因为最近才实施了对处理时间的监控,所以我想构建几个月以来的所有先前提交,所以我可以看到一些潜在的处理时间缺陷。

我可以使用ForceScheduler在特定提交上触发手动构建,但有没有一种简单的方法可以在最后 500 次提交上做到这一点?

0 投票
1 回答
2562 浏览

python - 如果先前超时,如何运行条件步骤

我有一个带有几个步骤的 buildbot 构建工厂。其中一个步骤会定期超时,导致 buildbot 抛出异常并退出。但是,即使在这种情况下,我也希望能够存储生成的日志。一种选择是添加一个仅在上一步超时时才运行的步骤。使用doStepIf是可能的。但是,没有办法看到状态,因为TIMEOUT只有SUCCESS, WARNINGS, FAILURE, or SKIPPED. 解决此问题的最佳方法是什么?

函数示例doStepIf

0 投票
1 回答
268 浏览

svn - 如何使用 master.cfg 文件获取 Buildbot 中已完成构建的最新 SVN 修订号?

我正在寻找一种方法或示例代码,以根据 Builder 名称获取先前完成的 SVN 修订号。我的目的是使用数字的差异来查询 SVN 并为构建所做的更改创建报告。

0 投票
1 回答
1908 浏览

python - Buildbot 不发送电子邮件?

我有一个为软件项目运行的 buildbot 设置,并且正在尝试设置电子邮件通知,如下所示:

WhereBUILDBOT_EMAIL是一个字符串“buildbot@name-of-our-project.org”,并且NOTIFICATION_EMAIL是一个字符串,其中包含我想要获取通知的电子邮件。

根据文档,一切似乎都很好;我不会向感兴趣的用户发送邮件,因此不需要lookup争论。我只是尝试将邮件发送到明确说明的地址,以防任何构建失败。我基本上是这样做的:

要获得一个简单的每构建一条消息(例如,对于邮件列表),请改用以下表单。此表单不向单个开发人员发送邮件(因此不需要 lookup= 参数,如下所述),而是只向参数中指定的额外收件人发送邮件:

但是,即使我的构建失败,也没有电子邮件到达。可能是什么原因?

我使用 fromaddr 的方式是否存在问题,并且只是buildbot@domain-name.org按照示例使用地址?这个地址是否应该以某种方式在我们的域中注册?如果我改用它会有所不同buildbot@localhost吗?

问题可能是我没有使用引起的relayhost吗?从文档中的示例看来,这只需要为出站地址而不是入站地址进行身份验证设置。

任何帮助将不胜感激。

0 投票
1 回答
891 浏览

integration - 将 BuildBot 集成到 JIRA

我们有一个BuildBot设置用于我们的持续构建。此外,我们碰巧使用 JIRA 来满足我们所有的错误跟踪和任务需求。

我试图完成的(并且几乎没有发现任何信息)是将构建号(来自生成的构建)集成到 JIRA 中。具体来说,我需要两个字段:

  • Found In Build(下拉列表列出了以前的构建到某个阈值,允许 QA 简单地选择构建号)
  • Resolved In Build(另一个下拉菜单允许工程师选择包含修复的未来构建)

最终,我希望这些字段也成为必填字段,但这是更简单的任务。

在研究了几天之后,我找不到任何参考、插件甚至是关于如何完成此操作的提示;需要你的帮助。

请发布完整的答案而不是代码片段,这样您的努力就不会被使用/误解。

PS JIRA 版本:5.2 BuildBot:0.8.4p2

0 投票
1 回答
164 浏览

debian - debhelper 已弃用选项 --until?

在构建机器人上构建包时,我目前有一个构建步骤

这很好用,但所有输出都集中在瀑布中的一个步骤中,这使得很难一眼看出故障是在配置期间、构建期间还是在打包期间。所以我想要一种更细粒度的构建方式。

碰巧我知道我想使用 dh 构建的所有包。这意味着我可以配置、构建、测试和打包构建步骤,每个构建步骤都运行以下命令之一:

(我使用 dh 来调用这些,因此如果包使用任何内容,它就可以进行覆盖。我不希望 buildbot 必须知道相关包是否使用覆盖。)

到目前为止,一切都很好。问题是,dh 不希望我使用 --until 选项。它说

“dh:不推荐使用 --until 选项。改用覆盖目标。”

这让我很难过……听起来 dh 没有预料到这个用例。

所以,现在的问题:

这些事情应该在哪里讨论?

dh 是否真的以其他方式处理我的用例,而我只是错过了备忘录?