XCode Server CI Bot Integrate 错误(Swift)

Posted

技术标签:

【中文标题】XCode Server CI Bot Integrate 错误(Swift)【英文标题】:XCode Server CI Bot Integrate error (Swift) 【发布时间】:2014-12-13 11:36:52 【问题描述】:

我正在尝试在我的 Macbook 上设置 CI 服务器,我一直遵循苹果网站上的文档,直到创建机器人并集成我的构建。当我尝试集成构建时,我反复收到以下错误:

Bot Issue: error. Build Service Error.
Issue: '/Library/Developer/XcodeServer/Integrations/Caches/14a8ea2a72904f1abcecd38b1c02196b' exists and is not an empty directory (-4).
Integration Number: 13.
Integration URL: https://DavidMcQueens-MacBook-Pro-2.local/xcode/bots/BF817C9/integrations
Description: '/Library/Developer/XcodeServer/Integrations/Caches/14a8ea2a72904f1abcecd38b1c02196b' exists and is not an empty directory (-4).

我已经手动删除了该位置的文件夹,并更改了权限,以防服务器出现写入问题。每次我运行时,我都会收到相同的错误。即使我删除了文件夹,所以在集成之前它是空的。

有人对如何解决这个问题有任何想法吗?我已经用 Swift 构建了我的 ios 应用程序(我相信它仍然可以与 CI 服务器一起使用)

我正在运行 OSX Server 4.0 和最新版本的 XCode。 我关注了Apple's documentation for creating bots

谢谢,

编辑: 经过一些试验和尝试不同的事情来查看问题所在,我在我的 GitHub 托管上禁用了 2 因素身份验证。这似乎解决了这个问题,尽管我正在生成一个特定的应用程序密钥来绕过 2-factor。它在很短的时间内解决了这个问题,我成功地让机器人集成了几次。然而,它似乎又回到了它的老把戏。

如果有人对此有任何其他了解,或者设法让它在自己的机器上运行,那将是很高兴知道。

【问题讨论】:

【参考方案1】:

所以我相信我已经解决了这个问题,GitHub 2 因素身份验证问题看起来是一个红鲱鱼。 在设置机器人时,有一个部分显示“签出存储库”,我没有执行此步骤,因为我已经在本地计算机上拥有存储库并假设它只会在另一个位置创建存储库,并且服务器没有其他目的。

但是,经过一番调查,这一步是非常必要的。据我了解,签出存储库确实会在另一个位置再次创建它,但是这是必要的,因为这个新的存储库是 Bot 将更改拉入并构建以执行测试的地方。我试图将相同的存储库用于开发和机器人,但它不喜欢。

创建项目的干净签出(在服务器上),并在该项目中配置机器人,然后让我继续前进并正确设置所有内容。它归结为用户错误。事后看来,为机器人创建一个单独的存储库是非常有意义的(这是我的第一个 CI 服务器设置),但是错误消息没有帮助,我不记得在设置指南中看到过这一点。

【讨论】:

“创建一个新的仓库”到底是什么意思?您是指一个新项目,还是对您正在进行集成的项目进行彻底检查? 对造成的混乱表示歉意。是的,将当前存储库/项目签出到服务器上的单独位置。服务器将使用此 repo 将更改拉入并从中构建。当我在我的笔记本电脑(也是我的开发机器)上设置服务器时,我不明白需要另一个结帐位置,这就是问题所在。我将编辑我的答案以使其更清楚。

以上是关于XCode Server CI Bot Integrate 错误(Swift)的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 OSX Server 3.2.1 在 XCode 6.0.1 中创建 CI Bot

访问 Xcode Server CI bot 运行中的构建文件夹(环境变量?)

在使用 Xcode Server bot 集成之前复制文件

您如何配置 Xcode Server (Bot) 以仅保留 n 个最近的集成?

Xcode Bot CI 服务 SVN 问题

Xcode CI - 用于上传到 Fabric 的 Bot 脚本给出错误“无法检测构建环境”