Xamarin iOS 项目和构建服务器
Xamarin iOS project & build server
我正在尝试确定我们如何构建我们的 Xamarin iOS 项目,同时将工件与其他项目构建保持一致。我们所有的代码都在一个解决方案中,并且我们有多个 UI 项目(WinForms、网站和 UWP、W8.1/WP8.1 和 Android 的 Xamarin 项目)。我们的 TeamCity (10) 服务器托管在 Windows 上,它可以构建除 iOS 项目之外的所有内容,该项目必须在 Mac.
上完成
我已将解决方案配置为构建除 iOS 之外的所有内容,并且我能够设置另一个构建配置以使用 Mac 构建代理为 iOS 进行构建。两种配置都使用相同的 SVN VCS 作为触发器。
虽然这可行,但理想情况下,我希望能够将 iOS 配置中的工件组合到主配置的工件中。
我还要确保这两个版本始终从同一来源构建。看起来我可以通过设置快照依赖项来做到这一点,但是 iOS 配置在触发之前等待主配置完成。理想情况下,两者都会 运行 并最终合并结果。
我的问题是,我怎样才能做到这一点?如果编译步骤可以同时发生,那就太好了,如果任一配置未能通过编译步骤,主构建将不会继续单元测试/部署步骤。如果需要,我愿意进一步分解主要构建配置,但 TeamCity 服务器将需要保持在 Windows 上(因此在 Mac 上做所有事情不是一个选项)。
我能够通过将构建分解为三个独立的配置来做到这一点。一个只构建 iOS ,一个构建 Windows / Android 项目,第三个从其他两个配置中获取依赖项并继续构建过程(例如单元测试、打包等)。我必须为最终构建配置设置工件依赖性和快照依赖性,以便一切都使用相同的源。
iOS 和 android/Windows 构建同时被触发和 运行,如果任何一个失败,第三个配置将不会启动。
我正在尝试确定我们如何构建我们的 Xamarin iOS 项目,同时将工件与其他项目构建保持一致。我们所有的代码都在一个解决方案中,并且我们有多个 UI 项目(WinForms、网站和 UWP、W8.1/WP8.1 和 Android 的 Xamarin 项目)。我们的 TeamCity (10) 服务器托管在 Windows 上,它可以构建除 iOS 项目之外的所有内容,该项目必须在 Mac.
上完成我已将解决方案配置为构建除 iOS 之外的所有内容,并且我能够设置另一个构建配置以使用 Mac 构建代理为 iOS 进行构建。两种配置都使用相同的 SVN VCS 作为触发器。
虽然这可行,但理想情况下,我希望能够将 iOS 配置中的工件组合到主配置的工件中。
我还要确保这两个版本始终从同一来源构建。看起来我可以通过设置快照依赖项来做到这一点,但是 iOS 配置在触发之前等待主配置完成。理想情况下,两者都会 运行 并最终合并结果。
我的问题是,我怎样才能做到这一点?如果编译步骤可以同时发生,那就太好了,如果任一配置未能通过编译步骤,主构建将不会继续单元测试/部署步骤。如果需要,我愿意进一步分解主要构建配置,但 TeamCity 服务器将需要保持在 Windows 上(因此在 Mac 上做所有事情不是一个选项)。
我能够通过将构建分解为三个独立的配置来做到这一点。一个只构建 iOS ,一个构建 Windows / Android 项目,第三个从其他两个配置中获取依赖项并继续构建过程(例如单元测试、打包等)。我必须为最终构建配置设置工件依赖性和快照依赖性,以便一切都使用相同的源。
iOS 和 android/Windows 构建同时被触发和 运行,如果任何一个失败,第三个配置将不会启动。