2013-10-29 138 views
10

我想用Xcode機器人來進行持續集成。我已經安裝了OSX Mavericks和Server(版本3)。我能夠使用Xcode 5.0.1創建機器人。雖然集成它成功地執行分析測試,但總是最終的集成結果是失敗的。與Xcode機器人持續集成

集成失敗。意外的內部服務器錯誤。 #

我不明白任何來自服務器錯誤日誌。它由於一些維基服務相關的錯誤失敗。

任何人都可以幫助我嗎?

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 
+0

配置它,你用什麼樣的存儲庫?我遇到了使用普通SVN回購的問題。但我通過啓用svn + ssh和公鑰認證來解決它。 – gamma

+0

@gamma i'am使用託管的SVN回購(需要密碼驗證)它是我公司提供的集中式存儲庫 –

+0

是的,它們的設置基本相同。唯一的方法是弄清楚如何使svn + ssh工作。我安裝了一個SSHService(Cygwin),爲XKey和我的本地用戶運行的用戶創建了PublicKey驗證的驗證方案。我還沒有想出如何用密碼認證來做到這一點。如果你想我可以用完整的描述來創建一個答案 – gamma

回答

1

我有類似的問題。就我而言,這是訪問源代碼庫的問題。 OSX服務器有DNS問題,阻止它到達主機。你能否檢查你是否能夠訪問你的源代碼庫?

+0

如何檢查?你如何解決你的問題。我的存儲庫已啓用代理,並且需要身份驗證。我已將所需的憑證提供給OSX服務器。我認爲它能夠訪問存儲庫,因爲集成僅在分析和測試後的最後階段失敗。最終結果總是失敗 –

+0

我明白了。你能粘貼它在你的集成日誌中顯示的內容嗎?您可以在左側選擇最近的運行後在您的機器人詳情頁面上找到它。 – Truth

9

問題似乎是XCode5機器人不知道如何使用純SVN。你必須使用svn + ssh。

[UPDATE]你也可以使用git ...與你的SVN同步。工作流程略有不同,但效果很好。

我發現這個今天:subgit

它完美地集成到Git和SVN,你可以設置在Xcode服務器Git倉庫,而與subgit升級他們 - 他們都將保持同步。 (花了我半個小時才完全理解它是如何工作的)

最棒的是:10個座位的許可證(意思是10個合作者通過subgit)是完全免費的(對我的用例來說已經足夠了)。

[上一個回答]我做了一個簡單的解決方案,在SVN服務器機器上涉及到一個SSH服務器。我認爲哪一個並不重要,但我目前正在使用Cygwin。

在/ etc/sshd_config中,你需要添加一個子系統

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

您需要創建文件/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是您要使用驗證用戶的名稱。 該解決方案既快速又骯髒,並且不允許不同的用戶進行身份驗證。另外,Xcode需要在本地機器和Bot-Server上使用相同的用戶名。很可能你必須創建一個_teamsuser主目錄,並在其中放置一個subversion/config。

另一種方法是使用公共密鑰(如殭屍服務器已經創建),那麼你可以把這些爲authorized_keys,並在前面放一個命令:

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

我一直在嘗試使用公鑰獲取此設置,但無法在xcode中創建bot! 我卡住設立回購/賬號: 的Xcode - >首選項 - >帳戶選項卡 加入回購 進入SVN + SSH地址 類型顛覆 它要求輸入用戶名密碼,但有無處可放的關鍵。 在服務器設置端,您可以實際粘貼密鑰文本。 當我點擊添加它說「驗證憑據...」,然後只是在一個大的彈出窗口中顯示ssh服務器橫幅。 -update OMG I刪除了橫幅及其驗證碼 – hooby3dfx

+0

+1,用於更新答案並添加子數據路徑。 git也有'git svn'來做到這一點。 https://www.atlassian.com/git/tutorials/migrating-overview – thesummersign