2

Java/Eclipse。开发工作正常。我们有用于构建服务器的 Windows 或 FreeBSD。

部署虽然我想做以下事情(以一种非常自动化的方式):

1:从源代码控制中删除所有内容(perforce)

2:使用可配置的javac和参数构建所有源代码(和所有依赖项目)(我们想看看不同的编译器是否会影响性能)

3:运行proguard

4:将所有资源(.class、“res/”目录、外部.jars等)打包成一个jar。

5:创建一个.jnlp web start

6:创建本机 Windows 安装程序(有什么建议吗?)

7) 对于我们的 android 应用程序 4/5 应该构建/登录到可部署的 android 包中

我们已经尝试过 ant,但看起来非常笨重且容易出错。也许最好的方法就是编写所有脚本?似乎应该已经有一个很好的方法来做到这一点。

4

5 回答 5

5

我们使用 maven 进行构建过程,并将 Hudson 作为持续集成服务器,为我们进行构建。为了制作 Windows 安装程序,我们使用 NSIS,它有一个 Maven 插件,甚至可以在 linux 机器上构建安装程序(您必须为构建器 iirc 重新编译一些库)。

至于 Android,从来没有这样做过——所以不确定 Maven 是否有适当的帮助。但是如果需要,您可以随时将 Ant 嵌入其中(使用 Maven 的 ant 插件)。

简而言之,就像所有这些系统一样,有一些初始设置,但即使是规模不大的项目,它通常也是值得的,因为它很快就会得到回报。

于 2010-10-08T20:24:34.840 回答
1

考虑TeamCity。它不是免费的,但它是持续集成的好工具。

于 2010-10-08T20:32:47.197 回答
1

我们对FinalBuilder 进行了短暂的评估。它是集成各种构建发布任务的非常强大的工具。

然后我们切换到 Hudson,它用完了 ant 脚本和 schell 脚本。拥有 hudson 对运行其他任务通常很有用——比如运行代码检查工具、创建 VM 实例、部署新创建的安装程序、启动测试等。

InstallAnywhere 允许您为 Java 应用程序创建本机安装程序。不过不是免费的。

于 2010-10-10T08:10:53.137 回答
0

如果您熟悉 Groovy,您可能会考虑 Gant……Ant 的所有强大功能与 Groovy 的编码灵活性相结合。

于 2010-10-08T20:22:05.633 回答
0

我建议你重新考虑 Ant。如果某些任务很尴尬,您可以使用 exec 任务来启动 shell 或用 Java 编写自己的 ant 任务。这仍然允许您使用 Ant 来协调整个构建。您可以通过定义宏来减少剪切和粘贴爆炸,从而使 Ant 更不容易出错。

Maven有很多不错的特性,但在项目开始时设置起来更容易。将现有项目转换为使用 Maven 需要做很多工作。你可以通过结合使用Ivy和Ant来获得Maven的依赖管理。

于 2010-10-08T20:26:49.247 回答