问题标签 [hudson]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
10247 浏览

maven-2 - Hudson 无法构建我的 Maven 2 项目,因为它说存储库中缺少工件?(他们不是)

我正在使用 Hudson 和 Maven 2 进行自动化构建/CI。我可以从命令行使用 maven 构建良好,但是当我使用 Hudson 运行相同的目标时,构建失败并抱怨缺少工件。我将 Hudson 作为 Windows XP 服务运行。

0 投票
4 回答
3040 浏览

continuous-integration - Hudson FindBugs 插件:如果有问题,如何使工作失败?

我正在玩Hudson的精彩FindBugs 插件。理想情况下,如果 FindBugs 发现任何问题,我希望构建失败。这可能吗?

请不要试图告诉我“0 个警告”对于 FindBugs 是不现实的。我们已经使用 Ant 的 FindBugs 有一段时间了,我们通常会保持 0 个警告。我们通过使用一般排除过滤器和特定/目标注释来实现这一点。

0 投票
5 回答
8887 浏览

java - 您如何解决 Hudson 中的“打开文件过多”问题?

我们使用Hudson作为持续集成系统来执行我们许多项目的自动构建(每晚并基于 CVS 轮询)。

有些项目每 15 分钟轮询一次 CVS,有些项目每 5 分钟轮询一次,有些则每小时轮询一次。

每隔几周,我们就会得到一个失败的构建,输出如下:

下一个构建始终有效(有 0 次更改),因此我们总是将其归结为同时运行 2 个构建作业,并且在此过程中碰巧打开了太多文件。

这个周末我们在周五晚上构建失败(自动夜间构建)并显示消息,并且每隔一个夜间构建也失败。不知何故,这促使 Hudson 不断构建每个失败的项目,直到问题得到解决。这导致每个项目每 30 分钟左右构建一次,直到周六晚上某个时候问题神奇地消失了。

0 投票
1 回答
1758 浏览

java - Hudson 运行的代码在命令行上找不到可执行文件

我正在哈德逊建立我的第一份工作,我遇到了一些问题。该作业监控两个存储库,一个包含我们的数据库设置文件,另一个包含一些验证和测试数据库设置文件的代码。

运行的部分代码将使用 psql 命令行工具,使用 Runtime.exec() 在 PostgreSQL 中抛出经过验证的设置文件。此代码在我的机器上完美运行,但是当 Hudson 执行它(不同的机器)时,我收到以下错误:

psql.exe 在路径上,我可以通过在命令行中键入整个内容来执行它,从 Hudson 执行代码的同一个地方开始。要传递给 psql 的文件存在。

有任何想法吗?

0 投票
2 回答
1599 浏览

java - 哈德逊作业挂在 Runtime.exec

我通过 Tomcat 将 Hudson 作为 Windows 服务运行,不涉及任何从站。作业中的最后一个构建步骤是调用一些 Java 代码的批处理文件。该代码使用 PostgreSQL 的命令行工具 psql(通过 Runtime.exec())在本地机器上创建一个数据库,并最终针对它运行一些测试。

该作业将进行到这一点,然后无限期地挂起而不开始创建数据库。如果我从命令行运行批处理文件,它会完美运行。我认为http://hudson.gotdns.com/wiki/display/HUDSON/Spawning+processes+from+build不适用,因为生成的进程似乎还没有开始执行,但我对此并不陌生所以如果我错了,请告诉我。

编辑@anjanb:批处理文件的唯一目的是调用 Java 代码,唯一的用户输入作为命令行参数传入,我可以看到它直接通过构建的控制台输出进入。

Process Explorer 显示 psql 正在启动,但它显然没有被执行,因为给出的第一个命令 psql 是创建一个新数据库,但这并没有发生。

编辑 2:我从 Hudson 用户邮件列表中获得了一些提示,我将在周一试用并报告。

编辑 3:Java 代码已经在使用输出流,我在开发代码时使用了那篇文章。我不知道发生了什么,所以我正在重新开发代码以使用 JDBC 来创建数据库,而不是依赖 psql 和 Runtime.exec()

0 投票
8 回答
8931 浏览

continuous-integration - 将虚拟机映像创建为持续集成工件?

我目前正在开发一种服务器端产品,该产品在新服务器上部署有点复杂,这使其成为在 VM 中进行测试的理想候选者。我们已经在使用 Hudson 作为我们的 CI 系统,我真的很希望能够使用最新最好的软件部署一个虚拟机映像作为构建工件。

那么,究竟是如何做到这一点的呢?为此建议使用什么 VM 软件?需要编写多少脚本才能完成此任务?在这里使用 Windows 2003 Server 作为操作系统时有什么问题吗?

0 投票
7 回答
3508 浏览

java - Eclipse 作为 IDE + Mercurial 用于版本控制 + ? 错误跟踪 = 好主意?

对于一个新的 Java Web 项目,我考虑过使用:

  • Eclipse 作为 IDE
  • Mercurial 用于版本控制
  • 某种错误跟踪软件

我听说过错误跟踪软件,您可以在签入时将更改与未解决的错误联系起来。我自己没有使用过任何这样的解决方案,但听起来不错。是否有任何可以与 Eclipse 和 Mercurial 结合使用并让您将更改与未解决的错误联系起来的优秀错误跟踪应用程序?如果没有,至少有 Eclipse 使用 Mercurial 进行版本控制的好插件吗?它会支持hg renamehg copy吗?

如果我可以使用上述三个组件的组合来获得良好的工作效果,我也计划将 Hudson 加入其中。能够跟踪代码库中的更改如何影响我们的单元测试。

首先,我想要对上述问题的反馈。但我会很感激有关处理版本控制、错误跟踪以及将它们集成到 Eclipse 中的任何想法。

0 投票
3 回答
1093 浏览

java - 问题检查(来自 VSS)和在哈德逊构建 maven 项目

我是 Hudson 的新手,也许有人知道解决方案:我正在尝试从 Hudson 的 VSS 中检出父 pom(安装了 vss 插件),现在我得到了类转换异常:

有问题的行在这里:

界面变了吗?有人知道解决方案吗?

0 投票
1 回答
1604 浏览

configuration - 一台机器上的多个奴隶与哈德森

我可以在一台机器上运行多个 hudson 从站,我的意思是只有一个构建过程的真正的从站吗?

我的问题是,我有一个具有 3 个构建进程的从站,使用锁和闩锁 (V0.4) 来运行三种不同类型的构建作业。但有时我会遇到一个问题,即一种以上的构建作业同时运行,或者它阻止了从属的构建过程并且不运行。

提前感谢您的见解。

0 投票
3 回答
3695 浏览

maven-2 - Maven、Hudson 和动态 Clearcase 视图

这源于询问 Apache Maven 和 IBM Rational ClearCase 是否集成良好的问题。我想我应该写下我发现的东西——需要进行各种编辑,但我最终会按我希望的方式添加它。

环境

ClearCase - ClearCase 版本 7.0.1.2.

Maven - 所有这些,来自Maven 网站

Hudson - 1.307 版直接从Hudson 网站下载


问题

  • Maven 是否从 VOB 运行?

我将所有版本的 Maven2 安装到 VOB 'stacked' 中,即我添加了 2.0 版本 - 标记它,锁定标签 - 然后在顶部添加 2.0.1。

为了防止出现无关文件,我在 clearfsimport 中使用了 -rnname 标志。

这样,我可以简单地使用标签在我的配置规范中指定我想要访问的 Maven 版本,但仍然为 maven 可执行文件保留相同的路径 - /maven/bin/mvn。

一旦安装了所有版本,我就可以通过动态视图从那里运行 Maven 。存储库像往常一样从 Nexus 的内部安装下载到用户主目录 - 这可以避免签入和签出的任何问题。

将工具保留在源代码控制中的一个好处是您可以设置公司范围的设置(例如指向内部存储库) - 然后在任何平台上从 VOB 运行单个 Maven 实例,这会保留您最初设置的设置!

在 Maven 项目中,我只将 src 目录和 pom.xml 保留在源代码管理中,因为之后可以自动生成其他所有内容。

  • Hudson 是否与 ClearCase 一起使用?

我在设置 Hudson 以使用 ClearCase 动态视图运行时没有问题。所需要的只是从 Hudson 的工作目录到视图根目录(在本例中为 /view/xxx)的符号链接。ClearCase 插件成功运行ct lshistory以查找开发人员合并到的集成分支中是否有任何更改。

我确实编写了一个小脚本来设置作业的初始环境 - 只是 config.xml 和动态视图符号链接 - 以便在作业中列出正确的视图并且初始设置是正确的。之后用户所做的任何增强都是对默认模板的更改,而不是他们自己设置。

在 Hudson 的整体设置中,我使用了 $CLEARCASE_VIEW 环境变量来设置 Maven 可执行文件的路径。这样,Maven 的版本取决于配置规范中设置的版本——而不是他们在 Hudson 中选择的版本。

这为我(管理员)和我的用户节省了额外的管理。

  • 您使用的是什么内部存储库管理器?

我将 Sonatype Nexus 设置为内部存储库管理器 - 主要是因为我在Sonatype 博客中读到 Hudson 将与 Nexus 进行更多集成,我们不妨为未来的新增强功能做好准备。我还相信,当我设置并尝试它时,它更适合大型商业环境,因为您可以调整存储库管理器中的组以更加灵活 - 对于大量项目很有用。