【发布时间】:2016-11-03 09:06:18
【问题描述】:
我正在尝试确定如何构建我们的 Xamarin iOS 项目,同时将工件与其他项目一起构建。我们所有的代码都在一个解决方案中,并且我们有多个 UI 项目(WinForms、网站和用于 UWP、W8.1/WP8.1 和 Android 的 Xamarin 项目)。我们的 TeamCity (10) 服务器托管在 Windows 上,它可以构建除 iOS 项目之外的所有内容,iOS 项目必须在 Mac 上完成。
我已将解决方案配置为构建除 iOS 之外的所有内容,并且我能够设置另一个构建配置来使用 Mac 构建代理为 iOS 构建。两种配置都使用相同的 SVN VCS 作为触发器。
虽然这可行,但理想情况下,我希望能够将 iOS 配置中的工件组合到主配置的工件中。
我还要确保两个构建始终从同一源构建。看起来我可以通过设置快照依赖项来做到这一点,但是 iOS 配置在触发之前等待主配置完成。理想情况下,两者都将运行并最终合并结果。
我的问题是,我怎样才能做到这一点?如果编译步骤可以同时发生,那就太好了,如果任一配置未能通过编译步骤,主构建将不会继续进行单元测试/部署步骤。如果需要,我愿意进一步分解主要构建配置,但 TeamCity 服务器需要保留在 Windows 上(因此不能在 Mac 上执行所有操作)。
【问题讨论】:
-
如何在 MAC 上运行 Windows VM(Parallels 或 VmWare)。然后 TeamCity 可以留在 WIndows VM 上,您可以轻松地与 MAC 共享文件
-
@YuriS 我的问题不是共享文件;工件依赖项可能会解决该特定问题,但我不确定要完成这项工作的所有部分。
标签: macos xamarin build teamcity