如何使用 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 项目?的主要内容,如果未能解决你的问题,请参考以下文章

如何配置 Hudson 为每个构建发送电子邮件,而不仅仅是那些改变项目状态的?

如何在 Hudson 中删除不需要的构建工件

如何在 Hudson 中运行 VB6 项目?

作为预构建步骤,我如何触发 hudson 的另一项工作?

如何清除我的 Jenkins/Hudson 构建历史?

如何在Hudson中增加构建队列的数量?