问题标签 [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.
junit - 从 Hudson 获取有用的电子邮件,而不是 ant log 的尾巴
我的一个团队成员最近为我们的一些开发代码库设置了一些 Hudson 持续集成构建。它使用以简单方式配置的内置 ant 集成。
虽然它非常有用并且我强烈推荐它,但我想知道如何获得更简洁/信息丰富/有用的电子邮件,而不仅仅是 ant 构建日志的尾部。
例如,不要这样:
我假设我可以跳过内置的 ant 支持并通过 grep 脚本发送构建日志,但我希望有一个更集成或更优雅的选项。
unit-testing - 将 Hudson 与 MS 测试集成?
是否可以将Hudson与 MS Test 集成?
我现在正在使用 Hudson 在我的开发机器上设置一个较小的 CI 服务器,以便我可以获得一些统计信息(即FxCop和编译器警告)。当然,如果它可以只运行我的单元测试并显示它们的输出,那也很好。
到目前为止,我已向 Hudson 添加了以下批处理任务,使其能够正确运行测试。
但是,据我所知,Hudson 还不支持对 MS 测试结果进行分析。有谁知道生成的 TRX 文件是否MSTest.exe
可以转换为JUnit或NUnit结果格式(因为 Hudson 支持这些格式),或者是否有任何其他方法可以将 MS Test 单元测试与 Hudson 集成?
continuous-integration - 哈德逊“聚合下游测试结果”的问题
我的 Hudson 项目似乎没有正确聚合下游测试结果,我想知道我是否在某处错过了配置步骤。我有两个项目,Foo 和 Foo-Tests,它们都是自由式工作。
在项目 Foo 我有以下配置:
- 选中“聚合下游测试结果”。
- 选中上一个选项下的“自动聚合所有下游测试”。
- 检查“构建其他项目”并指定“Foo-Tests”来构建。
在项目 Foo-Tests 我有以下配置:
- 检查“发布 JUnit 测试结果报告”并指定我的 JUnit 报告 XML 文件。
当 Foo 构建时,它会成功构建并正确触发 Foo-Tests 构建。Foo-Tests 构建成功并正确发布了 JUnit 报告。但是,当我在 Foo 中查找汇总的测试结果时,有一个构建的“最新测试结果(无测试)”链接将我发送到 404。
这是我尝试过的不能解决问题的方法:
- 告诉 Foo 不带参数“发布 JUnit 测试结果报告”(项目 Foo 中没有测试,只有 Foo-Tests)。这导致了一个错误,因为在项目中没有可供它处理的测试文件。
- 告诉 Foo-Tests 没有参数的“指纹所有已发布的工件”(我想知道 Hudson 是否将 JUnit 报告视为幕后工件)。这导致了一个错误,因为我没有明确定义要发布的任何工件。
我正在使用哈德逊 1.266。
编辑: 我应该注意到我在 Hudson 用户邮件列表中发现了两个没有答案的问题,可能有助于解决这个问题:
java - 我的构建可以规定我的代码覆盖率永远不会变得更糟吗?
我正在使用 hudson CI 来管理一个直接的 java web 项目,使用 ant 来构建。
我想强制单元测试覆盖率永远不会比以前的构建差,从而确保始终测试任何新代码,或者至少覆盖率不断提高。
有没有这样的哈德逊插件?
编辑:我目前正在使用 Emma,但愿意切换到另一个覆盖应用程序。
另外,作为澄清,我已经看到了一些 Hudson 插件中的阈值,但这并不是我所追求的。例如,我想要的是,如果 Build #12 的总体覆盖率为 46%,并且有人以 45% 的覆盖率签入 Build #13,则构建会中断。
我想这样做的原因是我有一个测试覆盖率低的代码库。我们没有时间回去追溯编写单元测试,但我想确保覆盖率不断提高。
更新:丹指出了我的计划的一个边缘案例,这肯定会成为一个问题。我想我需要重新考虑这是否是一个好主意。
c++ - 哈德森、C++ 和 UnitTest++
有没有人将Hudson用作使用UnitTest++作为测试库的 C++ 项目的持续集成服务器?
你到底是怎么设置的?
我知道之前有几个关于持续集成的问题,但我希望这个问题的范围更窄。
编辑:我会澄清一下我在寻找什么。当单元测试失败时,我已经将构建设置失败。我正在寻找像 Hudson 的 JUnit 支持这样的东西。UnitTest++ 可以创建 XML 报告(参见此处)。所以,也许如果有人知道如何将这些报告翻译成与 JUnit 兼容,Hudson 就会知道如何吃掉它?
jenkins - Hudson 的经验 - 构建矩阵项目
有没有人尝试过这个功能并有一些反馈?或者有谁知道一些有用的样本可以查找?
c++ - 无法让 hudson 解析 JUnit 测试输出 XML
编辑:这个问题已由谷歌在 gtest 1.4.0 中修复;有关更多信息,请参阅原始错误报告。
我最近为我的 C++ 测试框架切换到 gtest,我目前无法使用它的一个重要功能是能够生成 JUnit 样式的 XML 测试报告,然后可以由我们的 hudson 构建服务器读取。
gtest 测试套件生成的 XML 输出看起来都是合法的:
我还尝试将 JUnitReport 任务添加到我的 ant 构建脚本中,该脚本运行良好,并像这样生成 XML:
问题是,每当我告诉 ant 发布 JUnit 测试结果,然后将其指向原始测试结果 XML 或 ant JUnitReport 任务中生成的编译结果时,hudson 总是抱怨在那里找不到测试结果。
我不是 java 人,所以我不知道这里发生了什么,也找不到 JUnit XML 应该是什么样子的示例。有人可以帮我指出正确的方向吗?
java - 持续集成:使测试数据库模式保持最新
我正在设置一个持续集成服务器 (Hudson) 来构建一个 Java 项目并运行相关的单元/集成测试。这些测试中的大多数都访问数据库,并且测试数据保存在 DbUnit XML 文件中。
我正在寻找一种自动保持测试数据库模式最新的方法。当前,特定发行版的 SQL 脚本存储在以发行版命名的目录中:
例如,版本 0.1.4 的 SQL 脚本是
问题是这些脚本包含模式更改(例如 ALTER TABLE...)和静态表更改(例如向 USER_TYPE 表添加新角色)的混合。
在单元测试的情况下,我只想应用架构更改,因为如上所述,单元测试的所有数据都保存在 DbUnit XML 文件中。尽管我可以将这两种类型的数据库更改分离到不同的文件中,但架构更改和数据更改之间通常存在依赖关系,当发布应用于 QA、生产等时,需要以某种方式强制执行。
无论如何,这只是询问是否有人提出了一种强大的方法来自动保持他们的测试模式最新的一种非常冗长的方式?我知道Unitils对保持测试模式保持最新有一些支持,但我不确定它是否可以“忽略”SQL 增量脚本中的数据更新语句。
java - 将 Hudson 作业移动到另一台服务器
我已经使用在 Tomcat 上运行的 Hudson 设置了一个持续集成构建。我现在需要移动这个不同的 Tomcat 实例,但不想从头开始配置所有内容。
是否有一个配置文件定义了我可以复制到新服务器的每个作业,或者可以通过用户界面导入/导出作业?
谢谢,唐
git - 用于 Hudson 结帐问题的 Git 插件
使用 Hudson 的 Git 插件时,从我的在线 git 存储库 (git://github.com/ithena/orm2dsl.git) 获取最新源时,我的工作总是失败。
git 插件首先git fetch
成功执行。然后它尝试执行git checkout -f origin/
,失败如下所示。这是我的 git 存储库的问题,还是 checkout 命令没有意义?
作业配置中未设置分支的 Git 命令:
在作业配置中将分支设置为 master 的 Git 命令:
哈德逊控制台输出:
Hudson 环境: Debian Etch、Sun JSDK 6、git 1.4.4.4、hudson 最新稳定下载