2014-10-08 16 views
1

我已升级到OSX Server 3.2.1,并且已将我的存储库添加到XCode帐户首选项中。 我们的git存储库托管在TFS服务器上(因为我的公司主要与Microsoft系统一起工作)。 我通过HTTPS访问TFS服务器。无法使用OSX Server 3.2.1在XCode 6.0.1中创建CI Bot 0

现在,我可以添加存储库,它提示输入我提供的凭据,并成功添加存储库。 我通过源代码 - >项目名称 - 分支 - >配置项目 配置项目,之后我可以通过源代码菜单成功检出代码。

但是,当我通过产品 - >创建机器人创建一个机器人时,我选择一个模式和一个服务器,并给机器人一个名称。的XCode然后尝试验证设置和失败,出现以下:

Credentail Failure

我已经通过使用相同的凭据浏览器访问存储库。看起来由于某种原因,XCode对凭证处理不好。

任何想法如何解决这个问题?

回答

3

我似乎找到了解决方案。 意外的HTTP状态码:404(-1)与失败的身份验证没有直接关系。

认证成功,但现在存储库找不到'develop'分支的位置。 原因是我们的存储库位于包含存储库名称中的空格的本地TFS实现内部。

出于某种原因,Xcode可以完成代码的检出,不会有任何问题,但Xcode机器人无法处理包含空格的存储库名称/ URL。

此外,TFS不允许您更改存储库名称。所以我们通过使用Charles对请求进行URL重写来解决这个特殊问题。这似乎解决了这个问题。

谢谢!

1

希望我已经在上面的答案中发现了Xcode机器人无法用空格处理存储库名称的问题。我不得不放弃一段时间。当Xcode 6.1.1出来时,我再次尝试,但还是挣扎了好几天才获得认证。伐木手动运行Xcode中,当最后位于问题:

/Applications/Xcode.app/Contents/MacOS/Xcode -XCSUISourceControlLogLevel 2

在伐木时,我注意到有人试图用“%2520来代替空间”。在扩展存储库的URL的大多数其他地方,可以看到'%20'。

我使用的是本地Xcode服务器和ssh。因此,如果您的应用程序名称在名称中有一个空格(多个单词),请尝试以下操作:

1)不要在Xcode/Source Control/[Your ...下使用“+ Create New Remote ...”项目] /配置[您的项目] ...(这将创建名称中带有空格的存储库。)

2)使用服务器,创建名称中没有空格的存储库。在左侧面板中选择Xcode,使用“存储库”选项卡,单击“+”,然后键入不带空格的名称。然后点击“创建”。在您的开发机器上使用Xcode/Source Control/[您的项目]/Configure [Your Project] ...(+在Remotes标签下)下的“Add Remote”。输入仓库路径,如:

名称:产地 地址:SSH://[email protected]/git/NoSpaceName.git

您可能会被要求输入密码。 当您的开发机器能够访问存储库时,您可以检入代码。然后你可以继续创建机器人。在创建bot时,可能会要求您提供存储库凭据。选择更改并提供用户名和密码。然后选择下一步以设置机器人参数,例如Schedule等。直到创建机器人。

仅供参考。如果您需要删除指向Xcode/Preferences .../Accounts以及Xcode/Source Control/[您的项目]/Configure [您的项目]下的旧/不良存储库的链接,则可能会多次上下Xcode ] ...

+0

精彩的回答! – 2014-12-08 06:09:50

相关问题