【问题标题】:problems with continuous integration in xcode 5xcode 5中持续集成的问题
【发布时间】:2013-11-06 01:17:38
【问题描述】:

我只是在学习如何在 xcode 5 中设置我的持续集成机器人,并且度过了一段非常糟糕的时光。首先,我遇到了代码签名身份问题,但在阅读了这篇精彩的博文后,这个问题就消失了。

帖子:

http://matt.vlasach.com/xcode-bots-hosted-git-repositories-and-automated-testflight-builds/#comment-21

现在,在修复了这些错误之后,又出现了其他错误。每次我集成时,都会收到这样的警告:

无法打开文件“Pods.xcconfig”,因为没有该文件。

我也收到一个错误,说找不到 pod 的标头。我认为此错误是先前警告的结果。

一切都在本地完美运行,在设备上运行,存档,只有当我尝试与机器人集成时才会出现问题。

我应该在 PodFile 中添加一些东西吗?还是osx服务器本身的东西?

在我为此发疯之前我真的需要帮助!!

谢谢。

【问题讨论】:

标签: continuous-integration xcode5 bots cocoapods


【解决方案1】:

更好的解决方案是添加一个仅通过服务器使用的新方案(复制您的正常方案)。然后选择选项管理方案,展开“构建”并使用以下代码添加新的预操作:

cd ${SRCROOT}
echo "Installing Pods"
pod install

您可以在这里进行更新和许多其他事情。唯一的问题是它更新的版本有旧内容,你必须再次点击集成。请记住保持共享此方案。

--编辑-- 你必须提交这个并在这个方案上运行机器人(你可以在你的服务器中更改它 -> safari local xcode bot url -> 设置 -> 方案。

【讨论】:

    【解决方案2】:

    您收到此错误是因为您的 mac 服务器没有在 Xcode 机器人检出它们的目录中创建 pod。这是符合预期的,因为将pod install 的结果签入到您的源代码控制系统中会很奇怪。我找不到让 BOT 运行 pod install/update 命令的方法,所以我想出了以下解决方法:

    • 确保您的机器人配置为在每次集成之前不进行清理
    • 运行您的机器人,然后在生成的日志中搜索文件被签出的路径。
      • 搜索“IDEDerivedDataPathOverride” 该路径将以 /DerivedData 结尾,如果您查看其父文件夹,您将看到一个“源”文件夹。这是您的机器人将继续为您的项目检查更新的地方
      • 注意:源目录归您的服务器用户所有,您需要以该用户身份访问它。使用su 命令这样做
    • 如果你还没有在你的 mac 服务器上安装 cocoapods
    • 在 mac 服务器上,在上面找到的源目录中,导航到 Podfile 所在的位置
    • 运行 pod install 并确保安装了所有指定的 pod
      • 再次检查新创建的 pod 目录的文件权限,确保它们与其他文件属于同一用户。必要时使用chown 修复
    • 启动 Bot 并观看它成功完成!

    此解决方案的唯一问题是,如果曾经执行过清理,您将需要再次运行 pod install。这对今晚来说已经足够了,我将不得不寻找一种方法来编写 pod 安装脚本,稍后使用 bot 定义中使用的 Scheme 的 Build 部分中的 Pre-actions。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-10
      • 1970-01-01
      • 2013-11-04
      • 2010-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多