自动化Xamarin iOS应用程序的CI版本

时间:2016-06-28 15:06:40

标签: ios xamarin release release-management azure-pipelines-release-pipeline

我希望将Xamarin iOS应用程序的CI构建直接自动化到App Store。 VSTS还没有任何工具。 我尝试使用fastlane.tools,但它不支持Xamarin。我是否可以在VSTS中添加任何更好的步骤,以自动将Xamarin iOS应用程序发布到appstore中。

感谢。

2 个答案:

答案 0 :(得分:3)

为了实现这一目标,我使用了fastlane toolscake buildcake.xamarin。使用Cake代替gym。 Cake允许您在没有fastlane的情况下在任一平台上构建,因为提供了bash和powershell脚本。 More cake Xamarin info

要构建Android,请查看AndroidPackage。它将构建版本并创建,签名和压缩apk。

要构建iOS,请查看DotNetBuild。可以使用Platform传递TargetBuildIpaCodesignKeyCodesignProvisionsettings.WithProperty("arg","value")

一旦蛋糕构建脚本正常工作,它们就可以在泳道而不是健身房中使用:sh ".././build.sh -s \"../build.cake\" -t \"iOS\""

我不确定您的vsts设置,但我设置了一个带有vsts-agent的MAC构建服务器,然后能够在构建定义中添加命令行步骤并调用相应的fastlane lane。因此,从定义或命令行构建是相同的。然后可以根据需要将其他内容添加到构建定义中,例如松弛集成等。

最初,我的构建工作没有fastlane或蛋糕只有vsts,但更喜欢能够从命令行构建,然后从构建步骤调用它。

更新

  
      
  1. 使用fastlane与VSTS和Xamarin.iOS?
  2.   

Fastlane工具是用ruby编写的,用于自动化,例如调用xcode构建或google play API进行部署。 Fastlane没有专门针对msbuild进行操作,所以我使用了蛋糕构建,因为蛋糕中的调用根据平台调用msbuild或xbuild。

  
      
  1. 当你说你没有快车道或蛋糕时,你是否已经建立了工作,你是否也让它为发布管理工作?
  2.   

如果您访问visualstudio.com并创建构建定义,则可以选择Xamarin Android或iOS模板,然后填写空白。这些步骤称为nuget,build,sign等。蛋糕构建正在做的事情。

对于版本管理,可以在构建发生后使用和添加spaceshippilotsupply,或者您可以拥有单独的" lane"它会调用它们并从vsts中调用它。

让构建工作变得更容易,然后从命令行玩太空船,飞行员或供应。然后你可以为它们调整不同的配置文件,让它们按你喜欢的方式工作,然后将它们添加到一个通道中。

答案 1 :(得分:0)

看看Bitrise.io。我在一个月之前发表了一篇关于它的博客here并且强烈推荐它。