自动构建单点触控

mad*_*oke 13 xamarin.ios

我目前正在尝试为我的monotouch项目实现一键式构建解决方案(无需启动monodevelop IDE),我可以在其中指定配置文件和代码签名证书.我搜索了像nant,ant和maven这样的流行构建工具,但似乎没有人支持monotouch.有没有人尝试类似的东西?

jon*_*ers 12

我和詹金斯(又名哈德森)合作过.

您基本上设置了Jenkins服务器,并将Mac设置为"从属"构建服务器.(我使用了JNLP奴隶).

从那里你可以在构建中运行你想要的任何命令行,所以你只需要运行带有一些参数的mdtool,如下所示:

/Applications/MonoDevelop.app/Contents/MacOS/mdtool -v build "--configuration:Release|iPhone" "Path/To/YourSolution.sln"
Run Code Online (Sandbox Code Playgroud)

需要担心的一件事是,要签署iOS应用程序,从属进程必须在您的用户下运行.所以你不能真正为它创建一个Mac守护进程,你必须在启动时为你的用户运行从属进程并最小化它,这有点烦人.

  • 我正在使用类似的方法,从xbuild启动mdtool.但是,我最近遇到了一些特殊构建失败的问题 - 偶尔会产生一个损坏的构建.Mono团队告诉我,Apple以plist格式进行的更改导致了一个问题.它已在GUI中修复,但不在mdtool中.他们已经意识到了这一点,但还没有修复ETA. (3认同)
  • 我刚刚注意到这一点,我还没有开始自动构建,因为我的应用程序不需要新的更改.看起来这需要在尝试任何自动构建之前修复... (2认同)
  • 看起来这将在下一版本中修复.请参阅http://stackoverflow.com/questions/5276187/why-is-mdtool-failing-to-compile-after-i-upgraded-to-latest-version-of-monodevelo/5720918#5720918上的评论. (2认同)