为 Xamarin iOS 应用程序自动发布 CI [关闭]
Posted
技术标签:
【中文标题】为 Xamarin iOS 应用程序自动发布 CI [关闭]【英文标题】:Automate CI release for Xamarin iOS app [closed] 【发布时间】:2016-06-28 15:06:40 【问题描述】:我希望将 Xamarin ios 应用的 CI 构建直接自动化到 App Store。 VSTS 还没有任何工具。 我尝试使用 fastlane.tools,但它不支持 Xamarin。我可以在 VSTS 中添加任何更好的步骤来自动将 Xamarin iOS 应用发布到应用商店中吗?
谢谢。
【问题讨论】:
【参考方案1】:为此,我使用了fastlane tools、cake build 和cake.xamarin。蛋糕被用来代替gym。 Cake 允许您在没有 fastlane 的任何一个平台上构建,因为提供了 bash 和 powershell 脚本。 More cake Xamarin info.
要构建 android,请查看 AndroidPackage。它将构建发布并创建、签名和压缩 apk。
要构建 iOS,请查看 DotNetBuild。 Platform
、Target
、BuildIpa
、CodesignKey
和CodesignProvision
可以使用settings.WithProperty("arg","value")
传递。
一旦蛋糕构建脚本开始工作,它们就可以在车道而不是健身房中使用:sh ".././build.sh -s \"../build.cake\" -t \"iOS\""
我不确定您的 vsts 设置,但我使用 vsts-agent 设置了 MAC 构建服务器,然后能够将命令行步骤添加到构建定义并调用相应的快速通道。所以从定义或命令行构建是一样的。然后可以根据需要将其他内容添加到构建定义中,例如松弛集成等。
最初,我在没有 fastlane 或仅使用 vsts 的情况下进行构建,但更喜欢能够从命令行构建,然后从构建步骤中调用它。
更新:
在 VSTS 和 Xamarin.iOS 中使用 fastlane 吗?
Fastlane 工具是用 ruby 编写的,用于自动化操作,例如调用 xcode 进行构建或 google play API 进行部署。 Fastlane 没有专门针对 msbuild 的操作,因此我为此使用 cake build,因为 cake 中的调用根据平台调用 msbuild 或 xbuild。
当您说您的构建工作没有快速通道或蛋糕时,您是否也让它用于发布管理?
如果您访问 visualstudio.com 并创建构建定义,则可以选择 Xamarin Android 或 iOS 模板,然后填写空白。这些步骤调用了 nuget、build、sign 等。cake build 正在做同样的事情。
对于发布管理,spaceship、pilot 或 supply 可以在构建发生后使用和添加,或者您可以有一个单独的“通道”来调用它们并从 vsts 调用它。
让构建工作更容易,然后从命令行玩飞船、飞行员或补给。然后你可以为它们调整不同的配置文件,让它们按照你喜欢的方式工作,然后将它们添加到通道中。
【讨论】:
我将 VSTS 与 MacInCloud 一起使用。您能否更具体地说明一下您是如何做到的 1. 使用 VSTS 和 Xamarin.iOS 的快速通道?我虽然 Fastlane 不支持 Xamarin。 2. 当你说你的构建工作没有快速通道或蛋糕时,你是否也让它用于发布管理?使用 VSTS 我可以成功构建,但我想自动发布直到应用商店。 德里克,我是新手,请多多包涵。 1.你能告诉我你是如何通过VSTS添加宇宙飞船、飞行员和其他各种工具的吗??我没有在市场上找到任何特殊步骤或插件来添加它们。 2.你是什么意思有单独的lane-call them-Call that from VSTS?我怎样才能做到这一点? @Derek,你有关于使用 Jenkins with cake 构建 xamarin android 和 ios 的任何信息吗? 一旦你能够用 cake 构建,你应该可以使用任何工具,因为你只是调用 fastlane,它调用 cake,或者 cake 本身。 blog.zuehlke.com/en/…【参考方案2】:看看 Bitrise.io。一个月前我在博客上写过这篇文章here,我强烈推荐它。
【讨论】:
您能否添加一个如何使用它的示例 查看他的博客。它的设置步骤非常简单。以上是关于为 Xamarin iOS 应用程序自动发布 CI [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin 表单中是不是有相当于 iOS 的动态系统颜色?
Xamarin:AVPlayer 在 iOS 13 上自动关闭
Xamarin自动化测试ios。无法启动DeviceAgent ExitCode:65