我希望将Xamarin iOS应用程序的CI构建直接自动化到App Store。 VSTS还没有任何工具。 我尝试使用fastlane.tools,但它不支持Xamarin。我是否可以在VSTS中添加任何更好的步骤,以自动将Xamarin iOS应用程序发布到appstore中。
感谢。
答案 0 :(得分:3)
为了实现这一目标,我使用了fastlane tools,cake build和cake.xamarin。使用Cake代替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 lane。因此,从定义或命令行构建是相同的。然后可以根据需要将其他内容添加到构建定义中,例如松弛集成等。
最初,我的构建工作没有fastlane或蛋糕只有vsts,但更喜欢能够从命令行构建,然后从构建步骤调用它。
更新
- 使用fastlane与VSTS和Xamarin.iOS?
醇>
Fastlane工具是用ruby编写的,用于自动化,例如调用xcode构建或google play API进行部署。 Fastlane没有专门针对msbuild进行操作,所以我使用了蛋糕构建,因为蛋糕中的调用根据平台调用msbuild或xbuild。
- 当你说你没有快车道或蛋糕时,你是否已经建立了工作,你是否也让它为发布管理工作?
醇>
如果您访问visualstudio.com并创建构建定义,则可以选择Xamarin Android或iOS模板,然后填写空白。这些步骤称为nuget,build,sign等。蛋糕构建正在做的事情。
对于版本管理,可以在构建发生后使用和添加spaceship,pilot或supply,或者您可以拥有单独的" lane"它会调用它们并从vsts中调用它。
让构建工作变得更容易,然后从命令行玩太空船,飞行员或供应。然后你可以为它们调整不同的配置文件,让它们按你喜欢的方式工作,然后将它们添加到一个通道中。
答案 1 :(得分:0)
看看Bitrise.io。我在一个月之前发表了一篇关于它的博客here并且强烈推荐它。