1

我想通过 Jenkins 自动化我的 Monodroid 应用程序的测试和发布过程。

我发现了一些将 Jenkins 与“普通”Android 项目一起使用的信息:

有没有人在 Jenkins 上构建 Monodroid 应用程序并运行 nunit 测试的经验?

是否有一些可以修改的脚本?

4

2 回答 2

4

是的,它可以完成,嗯,几乎......实际上有一些可以工作的部分,遗憾的是目前还没有完全自动化。

好消息

可以从 Jenkins 中运行 .NET 构建。有一篇关于它的好博文,它逐步解释了您需要做什么。 http://jenkinsheaven.blogspot.com.au/2011/04/building-build-first-net-build.html

由于适用于 Android 的 Mono(至少在 Windows 上)是 MSBuild 的盛宴,您可以简单地安排

MSBuild /t:Package /p:Configuration=Release MySolution.sln

指南说您应该输入 MSBuild 命令的地方。这样,您将从构建中获得一个 .apk 文件。

坏消息

在这一点上,单元测试部门并没有发生太多事情。有一个用于 Android 的 Mono 的 NUnit Lite 端口,它允许您运行测试。但是我发现的那个不支持自动运行测试......但是。

如果您喜欢冒险并想自己添加对它的支持,可以在此处下载这些位:https ://github.com/SpiritMachine/NUnitLite.MonoDroid

专业提示(tm):

  • 确保在构建服务器上激活 Mono for Android 的许可证。没有它,您将创建无法在设备上运行的 APK 文件,因为它们缺少一些重要的代码。

  • 将正确的签名属性添加到您的 .csproj 文件中,通常使用调试密钥对包进行签名,但通过覆盖一些 MSBuild 属性,您可以指定属性发布密钥。这里有一个关于如何做到这一点的手册:http: //docs.xamarin.com/android/tutorials/Preparing_Package_for_Android_Marketplace ?highlight=signing

于 2012-09-07T15:36:42.463 回答
1

看看这个问题。

特别是,Calabash支持Android

我还没有时间仔细研究这个,但目前它看起来像 Jenkins,这是持续构建/部署的最佳选择。

于 2012-09-07T18:23:12.867 回答