与Xcode机器人持续集成

我想要使​​用Xcode机器人进行持续集成。 我已经安装了OSX Mavericks和Server(版本3)。 我能够使用Xcode 5.0.1创build机器人。 在整合成功执行分析testing的同时,最终的整合结果总是失败。

整合失败。 意外的内部服务器错误。 有关更多详细信息,请参阅集成日志

我不明白从服务器错误日志中的任何东西。它由于一些维基服务相关的错误而失败。

谁能帮我?

Oct 29 10:18:41 AnilV-InetliMac.local xcsbuildd[11285] <Debug>: [CSRemoteServiceClient.m:233 7e026310 +0ms] didReceiveData Oct 29 10:18:41 AnilV-InetliMac.local xcsbuildd[11285] <Debug>: [CSRemoteServiceClient.m:246 7e026310 +2ms] connectionDidFinishLoading Oct 29 10:18:41 AnilV-InetliMac.local xcsbuildd[11285] <Debug>: [CSRemoteServiceClient.m:172 7e026310 +0ms] Out of runloop; request completed Oct 29 10:18:41 AnilV-InetliMac.local xcsbuildd[11285] <Debug>: [CSRemoteServiceProxy.m:79 7e026310 +0ms] Received successful response. Oct 29 10:18:41 AnilV-InetliMac.local xcsbuildd[11285] <Info>: [CSConfig.m:55 7e026310 +0ms] Reading plist at /Library/Server/Wiki/Config/collabd.plist Oct 29 10:18:41 AnilV-InetliMac.local xcsbuildd[11285] <Debug>: [XCSBuildHelper.m:97 7e026310 +0ms] Updating bot run with GUID fc16d3af-093e-44aa-8a40-ebfef45bbbd9 Oct 29 10:18:41 AnilV-InetliMac.local xcsbuildd[11285] <Debug>: [XCSBuildHelper.m:102 7e026310 +0ms] Updating bot run (fc16d3af-093e-44aa-8a40-ebfef45bbbd9): { guid = "fc16d3af-093e-44aa-8a40-ebfef45bbbd9"; status = failed; subStatus = "internal-error"; } Oct 29 10:18:41 AnilV-InetliMac.local xcsbuildd[11285] <Info>: [CSConfig.m:55 7e026310 +0ms] Reading plist at /Library/Server/Wiki/Config/collabd.plist Oct 29 10:18:41 AnilV-InetliMac.local xcsbuildd[11285] <Info>: [CSConfig.m:55 7e026310 +0ms] Reading plist at /Library/Server/Wiki/Config/collabd.plist Oct 29 10:18:41 AnilV-InetliMac.local xcsbuildd[11285] <Info>: [CSRemoteServiceClient.m:151 7e026310 +0ms] Connecting to https://localhost:4443/svc to execute [https]Request{XCBotService.updateBotRun:({ guid = "fc16d3af-093e-44aa-8a40-ebfef45bbbd9"; status = failed; subStatus = "internal-error"; })} Oct 29 10:18:41 AnilV-InetliMac.local xcsbuildd[11285] <Debug>: [CSRemoteServiceClient.m:159 7e026310 +0ms] Secure, async request Oct 29 10:18:41 AnilV-InetliMac.local xcsbuildd[11285] <Debug>: [CSRemoteServiceClient.m:169 7e026310 +0ms] Before runloop; request pending Oct 29 10:18:41 AnilV-InetliMac.local xcsbuildd[11285] <Debug>: [CSRemoteServiceClient.m:223 7e026310 +157ms] didReceiveResponse Oct 29 10:18:41 AnilV-InetliMac.local xcsbuildd[11285] <Debug>: [CSRemoteServiceClient.m:225 7e026310 +0ms] response=<NSHTTPURLResponse: 0x7fd24a5a7980> { URL: https://localhost:4443/svc } { status code: 200, headers { "Accept-Ranges" = bytes; "Content-Length" = 3700; "Content-Type" = "x-apple/msgpack"; Date = "Tue, 29 Oct 2013 04:48:41 GMT"; Status = 200; "X-Apple-collabd" = yes; } } Oct 29 10:18:41 AnilV-InetliMac.local xcsbuildd[11285] <Debug>: [CSRemoteServiceClient.m:233 7e026310 +0ms] didReceiveData Oct 29 10:18:41 AnilV-InetliMac.local xcsbuildd[11285] <Debug>: [CSRemoteServiceClient.m:246 7e026310 +0ms] connectionDidFinishLoading Oct 29 10:18:41 AnilV-InetliMac.local xcsbuildd[11285] <Debug>: [CSRemoteServiceClient.m:172 7e026310 +0ms] Out of runloop; request completed Oct 29 10:18:41 AnilV-InetliMac.local xcsbuildd[11285] <Debug>: [CSRemoteServiceProxy.m:79 7e026310 +0ms] Received successful response. Oct 29 10:18:41 AnilV-InetliMac.local xcsbuildd[11285] <Debug>: [XCSBuildHelper.m:108 7e026310 +0ms] Updating bot with GUID 4e122aa2-56dd-4e3a-ad6e-25be1a65e657 Oct 29 10:18:41 AnilV-InetliMac.local xcsbuildd[11285] <Debug>: [XCSBuildHelper.m:117 7e026310 +0ms] Updating bot with latest bot run GUID key Oct 29 10:18:41 AnilV-InetliMac.local xcsbuildd[11285] <Debug>: [XCSBuildHelper.m:124 7e026310 +0ms] Updating bot (4e122aa2-56dd-4e3a-ad6e-25be1a65e657): { guid = "4e122aa2-56dd-4e3a-ad6e-25be1a65e657"; latestFailedBotRunGUID = "fc16d3af-093e-44aa-8a40-ebfef45bbbd9"; latestRunStatus = failed; latestRunSubStatus = "internal-error"; } Oct 29 10:18:41 AnilV-InetliMac.local xcsbuildd[11285] <Info>: [CSConfig.m:55 7e026310 +0ms] Reading plist at /Library/Server/Wiki/Config/collabd.plist Oct 29 10:18:41 AnilV-InetliMac.local xcsbuildd[11285] <Info>: [CSConfig.m:55 7e026310 +0ms] Reading plist at /Library/Server/Wiki/Config/collabd.plist Oct 29 10:18:41 AnilV-InetliMac.local xcsbuildd[11285] <Info>: [CSRemoteServiceClient.m:151 7e026310 +0ms] Connecting to https://localhost:4443/svc to execute [https]Request{XCBotService.updateBot:({ guid = "4e122aa2-56dd-4e3a-ad6e-25be1a65e657"; latestFailedBotRunGUID = "fc16d3af-093e-44aa-8a40-ebfef45bbbd9"; latestRunStatus = failed; latestRunSubStatus = "internal-error"; })} Oct 29 10:18:41 AnilV-InetliMac.local xcsbuildd[11285] <Debug>: [CSRemoteServiceClient.m:159 7e026310 +0ms] Secure, async request Oct 29 10:18:41 AnilV-InetliMac.local xcsbuildd[11285] <Debug>: [CSRemoteServiceClient.m:169 7e026310 +0ms] Before runloop; request pending 

这个问题似乎是XCode5机器人不知道如何使用纯粹的SVN。 你必须使用svn + ssh。

[更新]你也可以使用git …与你的SVN同步。 工作stream程略有不同,但效果很好。

我今天发现这个: subgit

它完美地集成到GIT和SVN中,您可以在Xcode Server中设置GIT存储库并使用子集来升级它们 – 它们将保持同步。 (花了我半个小时才完全理解它是如何工作的)

最重要的是:一个10位的许可证(意味着10位合作者通过副本)是完全免费的(对于我的使用情况来说还是相当不错的)。

[以前的答案]我做了一个简单的解决scheme,在SVN服务器上使用SSH服务器。 我认为哪一个并不重要,但是我正在使用Cygwin。

在/ etc / sshd_config中,您需要添加一个子系统

Subsystem "svnserve -t" /etc/svnserve-proxy

您需要创build文件/etc/svnserve-proxy

 cat > /etc/svnserve-proxy #!/bin/bash svnserve -t -r <repository> 

你必须分别修改svnserve命令和repository 。 在本地计算机上,您必须修改~/.subversion/config文件并添加一个[tunnels]行:

 [tunnels] ssh = $SVN_SSH ssh -v -l <username> -s 

username是您想要authentication的用户的名称。 这个解决scheme是快速和肮脏的,不允许不同的用户进行身份validation。 另外,Xcode需要在本地机器和Bot-Server上使用相同的用户名。 这是很有可能的,你必须创build一个_teamsuser主目录,并把一个subversion /configuration在那里。

另一种方法是使用公共密钥(正如僵尸程序服务器已经创build的)然后你可以把它们放在authorized_keys并在前面放置一个命令:

 command="svnserve -t -r <repository> --tunnel-user=<user>" rsa-ssh AAA 

我有一个类似的问题。 就我而言,这是访问源代码库的问题。 OSX服务器有DNS问题,阻止它到达主机。 你能检查你是否能够访问你的源代码库?

使用Xcode 9苹果可以轻松地与Xcode机器人持续集成。

Xcode服务器内置。 持续集成机器人可以在任何Mac上运行Xcode 9,不需要安装macOS服务器。

我find了很好的文章解释如何使用Xcode 9进行configuration。

Xcode9 – Xcode服务器全面的iOS持续集成