首页 文章

与Xcode Bots持续集成

提问于
浏览
10

我想使用Xcode机器人进行持续集成 . 我已经安装了OSX Mavericks和Server(版本3) . 我可以使用Xcode 5.0.1创建机器人 . 虽然集成它成功地执行分析测试但总是最终的集成结果是失败 .

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

我没有理解服务器错误日志中的任何内容 . 由于一些与wiki服务相关的错误,它失败了 .

谁能帮我?

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

3 回答

  • 0

    问题似乎是XCode5机器人不知道如何使用纯svn . 你必须使用svn ssh .

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

    我今天发现了这个:subgit

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

    最重要的是:一个10个席位的许可证(意思是10个合作者通过subgit)是完全免费的(对我的用例来说足够了) .

    [PREVIOUS ANSWER] 我做了一个简单的解决方案,涉及SVN Server机器上的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
    
  • 9

    我遇到了类似的问题 . 在我的情况下,访问源代码存储库是一个问题 . OSX服务器有DNS问题阻止它到达主机 . 您能否检查一下您是否能够访问源代码库?

  • 1

    使用Xcode 9 apple可轻松实现与Xcode机器人的持续集成 .

    Xcode Server内置 . 可以在任何带Xcode 9的Mac上运行持续集成机器人,无需安装macOS Server .

    我发现非常好的文章解释了如何使用Xcode 9进行配置 .

    Xcode9 - Xcode server comprehensive iOS continuous integration

相关问题