如何使用 Hudson 构建 Play 项目?
Posted
技术标签:
【中文标题】如何使用 Hudson 构建 Play 项目?【英文标题】:How do I build a Play project with Hudson? 【发布时间】:2011-06-01 02:30:23 【问题描述】:我有一个使用 Play 框架的项目,公司标准是所有项目都应由 Hudson 构建。但是,我不知道如何做到这一点,因为 Hudson 不遵循任何 Java 标准,并且需要在运行它的计算机上安装框架。我曾尝试使用 Maven 构建项目(如果我管理过这个,将其添加到 Hudson 应该非常简单),但我未能使其工作。我尝试了Play Maven module,但 Maven 声称它没有找到列出的外部存储库 (http://nexus.infin-it.fr/content/groups/public)。这可能是因为我在防火墙后面。我还尝试了here 列出的配方,但是本地 maven 构建失败,因为它无法找到 org.playframework:play:1.1:jar
。
有没有人做过这个并且可以提供一个howto?
【问题讨论】:
在 hudson 服务器上有 play-framework 有什么问题? 这应该不是问题,但实际上是因为无休止的文书工作和与运营部门的争吵...... 【参考方案1】:理论上,您可以将完整的 Play zip 放在您的构建或存储库中,然后使用 Hudson 启动 Ant 脚本以将 Play 下载到 Hudson 代理,解压缩,然后在其上运行命令。这有点笨拙,但它应该可以工作。
【讨论】:
【参考方案2】:你可以在我写的这个页面上找到一些帮助: http://blog.infin-it.fr/2010/12/15/play-framework-integration-continue-retour-dexperience/
即使是法语,我也会把我的 Ant 东西和我写的 Play 的 pom 放在一起。
在工作中,我们设法将 Play 应用程序与 Bamboo 集成。 我的文件应该不难。
【讨论】:
【参考方案3】:刚刚查看了您链接的存储库 (http://nexus.infin-it.fr/content/groups/public)。你猜怎么着,我找到了 play-1.1.jar。但是,工件 ID 是:org.play:play:1.1:jar 而不是 org.playframework
【讨论】:
【参考方案4】:不用在Hudson服务器上安装Play框架也可以,但是相当复杂:
-
将播放库(play.jar 及其依赖项)放入 Maven 存储库中
为您的项目创建一个 pom.xml,配置如下:
将这些库作为依赖项
您的项目特定依赖项(项目 lib 目录)
项目的 java 源文件夹(在 maven-compiler-plugin 中):“app”
如果你的项目很简单(没有模块依赖),这个 pom 允许你使用 Maven 构建 play 项目的 java 源代码。
如果您的项目有模块依赖项,则必须在 pom 依赖项中添加依赖项 jar。
为此,如果模块没有打包的 jar,则必须从模块创建 jar 文件(例如,获取 CRUD 模块的“CRUD”类)。
【讨论】:
从 Hudson 运行 Web 测试怎么样?这个也可以吗?以上是关于如何使用 Hudson 构建 Play 项目?的主要内容,如果未能解决你的问题,请参考以下文章