6

在 Xcode 6 中创建 Xcode Bot 时,它会链接到 Xcode 源代码控制中的当前活动分支。创建机器人后似乎没有支持更改分支的方法。

Xcode 服务:选择 Git 分支

我已将我的机器人设置为“提交时”运行。我发现当我提交到该分支时,机器人会立即集成该项目。但是当我提交到不同的分支时,机器人不会采取任何行动。

理想情况下,我希望一个Xcode Bot 查看远程存储库的所有分支。当对任何分支有新的提交时,应该运行机器人及其测试。

我不想为每个分支创建一个新的机器人。有解决办法吗?

错误报告:
rdar://20154198

开发者论坛:
https ://devforums.apple.com/thread/263490

4

4 回答 4

4

目前,我们使用一个名为 Buildasaur ( https://github.com/czechboy0/Buildasaur ) 的工具来改进我们的 CI 工作流程。它是用 swift 编写的,有助于为一个 github 存储库自动构建/运行/删除机器人,例如,每当创建 pullrequest 或将更新的提交推送到 pullrequest 时。实际上它在我们的 Xcode Server 6.3 上运行良好。不幸的是,它同时仅适用于一个存储库。:-( 我们也希望苹果能尽快实现这些功能。

于 2015-04-30T09:26:08.433 回答
4

还有由工具@jeremy-fox 的同一创建者开发的https://github.com/modcloth-labs/XBotBuilder 。它将为每个拉取请求创建一个机器人,并为 PR 中的每个添加重新运行该机器人。

它似乎处于早期阶段并且没有文档,但代码似乎组织良好,因此不难让它工作或改变它的行为来做你想做的事。

于 2015-03-16T14:56:04.747 回答
2

目前 Xcode Bot 无法做到这一点(当前版本是 Xcode Server 4.0.3 和 Xcode 6.2)。Bot 只会跟踪它创建的特定分支表单。

过去在 Xcode Server 3 和 Xcode 5 上使用https://github.com/modcloth-labs/github-xcode-bot-builder是可能的,但该项目尚未更新以适用于最新版本的 Xcode Server和 Xcode。

我也真的希望 Apple 尽快推出这个功能,如果能够让一个机器人监控新的 Pull Requests 的 repo 并在发现时运行针对该 PR 的集成,那就太好了。不过,就目前而言,这是不可能的。

2015 年 3 月 19 日更新: 正如 @Gus 在另一个答案中报告的那样,有一个新的基于 Mac OS X 的项目可以帮助创建名为 XBotBuilder 的功能分支/PR 的临时机器人 - https://github.com/modcloth-实验室/XBotBuilder。值得注意的是,目前,该项目仅适用于一个 github repo。因此,如果您有多个想要监控 PR 的 repo,目前这仍然是不可能的,除非您有多台机器,每台机器都运行不同的 XBotBuilder 实例并针对不同的 repo。

于 2015-03-13T15:19:12.070 回答
2

来自开发论坛的Apple回复:

这不是 Xcode Server 支持的。您可能能够制作一个预集成触发器来切换工作副本中的分支并调用单独的 xcodebuild 调用,但 UI 中报告的结果仅适用于 Xcode Server 构建(XCS 在您的触发器执行后运行的构建) .

https://devforums.apple.com/thread/263490

rdar://20154198

于 2015-03-16T18:25:59.673 回答