我一直在使用jenkins的TRA插件,突然间它停止显示我正在运行的一些工作的结果。消息,我得到了:
未检索到构建数据。您可能需要选择一个模块。
我已阅读this回答,但我已在构建后操作下使用发布JUnit测试结果报告。
Job的工作空间路径正确,所有测试报告.xml文件都在那里。
我错过了什么?
答案 0 :(得分:4)
未检索到构建数据。您可能需要选择一个模块。
这意味着什么在某种程度上取决于您正在处理的Jenkins项目的类型。它似乎也是该插件唯一的错误消息,这使得解密比它应该更难。
此问题似乎是关于Freestyle作业(而不是Maven作业),因为提到了发布JUnit测试结果构建后操作。
自由式工作
使用自由式作业时,此错误通常意味着找不到已发布的 XML文件(或一系列已发布的 XML文件)。在这种情况下,“选择模块”没有任何意义。
发布JUnit结果时,工作区中的xml文件将被处理为一个名为junitResult.xml
的文件。这就是我在提到发布的 XML文件时的意思。此文件存储在工作空间之外的构建历史记录中:
D:.
└───jobs
└───MavenFreestyle
├───builds
│ ├───1
│ │ build.xml
│ │ changelog.xml
│ │ junitResult.xml
│ │ log
│ │
│ └───2
│ build.xml
│ changelog.xml
│ junitResult.xml
│ log
│
└───workspace
│ pom.xml
│
├───.mvn
├───src
└───target
如果缺少这些junitResult.xml
个文件,您将获得空的TRA结果。当然,如果在工作区中找不到测试结果,则不会创建junitResult.xml
个文件。我认为它们至少也有可能被创建,但后来被某个流程或人员修改或删除。
无论如何,这些是您要验证其存在(和内容)的文件,而不是工作区中的任何内容。
如果这些junitResult.xml
文件似乎适用于结果为空的作业,那么使用其中一个的内容更新问题会很有帮助。
要验证要在发布的工作空间中找到的文件,请确保取消选中此复选框:
这样,如果 您的Ant模式与实际文件位置不匹配,则构建将失败。如果选中此框,并且您指定了包含模式,则作业将成功,但您的TRA结果将为空。
Maven Job
对于使用Maven Jobs遇到此问题的读者:
在这里,“选择一个模块”确实有意义。 “测试结果分析器”链接适用于Module
页面,但从Project
页面访问时显示空白结果。
我发现this "documentation" of said behavior已隐藏在插件维基页面的评论中。
多配置作业
使用多配置项目,您必须通过Configuration
页面访问结果。从Project
页面访问它们总是会产生空结果。