【发布时间】:2014-09-30 16:36:23
【问题描述】:
我有一个以前版本的 OS X Server 设置并运行良好,但是当我安装升级到 3.2.1 时,我发现我的机器人都不能正常工作。这些是我在每次尝试集成时遇到的问题:
构建服务错误无法将数据放入缓冲区 (-1)。
构建服务警告源代码管理操作失败,因为找不到工作副本。
构建服务警告更新现有结帐时出错。退回到干净的结帐..
我可能找错地方了,但我认为这些错误意味着我无法连接到我的 Git 存储库。当我从 Xcode 中删除我的存储库并再次运行机器人并得到相同的错误时,这一点得到了部分证实。 (我已经在 Xcode 中重新添加了存储库并执行了 Check Out 来测试它,所以我很确定我所有的连接细节都是正确的。)
对于以前版本的 OS X Server,我确定我已经直接从服务器连接到存储库,如 Help > Server Tutorials > Automate Xcode builds 中所述:
第 3 步。授予 Xcode 服务对 git 存储库的访问权限
Xcode 服务机器人从您的源 git 存储库访问项目和代码。
单击存储库,然后单击添加按钮 (+)。从 New Repository 弹出菜单中选择 Connect to a Git Repository。
但在最新版本中,当您单击“添加”按钮时,您只会获得创建新存储库的选项,而不是连接到现有存储库。网络上的说明(现在)说:
连接到远程存储库
如果您在远程服务器上的 Git 或 Subversion 存储库中有项目,您可以将您的凭据存储在您的开发 Mac 上 Xcode 的 Accounts 首选项中。然后,当您需要访问存储库时,您不必每次都重新输入您的凭据。
将远程存储库的凭据添加到开发 Mac
要让 Xcode Server 对您的项目执行集成,它还必须能够访问其源代码存储库。配置 Xcode Server 以连接到您的远程存储库。
在您的开发 Mac 上选择 Xcode > 首选项。
单击工具栏中的帐户。
单击添加按钮 (+),然后选择添加存储库。
在文本字段中,输入存储库的 URL(例如,svn+ssh://svn.example.com/ProjectName 或 https://example.com/git/repository.git),然后单击“下一步”按钮。
在“帐户”首选项的“存储库”窗格中输入您的用户名和密码。
这有点含糊,但似乎表明现在 OS X Server 使用在 Xcode 首选项中设置的存储库。
无论如何,现在我的 OS X Server 似乎无法访问存储库。我在这里遗漏了什么吗?
谢谢
更新:
在假装它不存在一个月后,我又回到了这个问题,并得出了以下发现:
-OS X Server 3.2.1、OS X Server 3.2.2 和 OS X Server 4.0 在两台不同的机器上出现问题。
-当存储库位于运行 Gitblit 的服务器上时会出现问题,但不适用于远程 Bitbucket 存储库或托管在本地 OS X 服务器中的 Git 存储库。
-该问题仅发生在较大的存储库中。
【问题讨论】:
-
很遗憾,我无能为力,只能说我认为您没有遗漏什么。我不能再将 Xcode 服务器指向外部 SVN 或 GIT 存储库。我真的希望这是一个错误,而不是新的实现,因为它已经为我削弱了这个 CI 系统!
-
我刚刚更新到 OS X Yosemite 和 OS X Server 4,但我仍然遇到同样的问题!现在还有一个 3.2.2 OS X Server 升级,您只能在升级到 Yosemite 之前安装它,所以看看它是否能解决任何人的问题会很有趣。
-
嗨若昂。我做到了 - 请参阅下面接受的答案。谢谢
-
@jimmyjudas。我们的 repo 使用 bitbucket。但我们看到了类似的问题。
标签: ios xcode repository osx-server