我一直在使用jenkins的TRA插件,突然间它停止显示我正在运行的一些工作的结果。我收到的消息:
没有检索到构建数据。您可能需要选择一个模块。
我已经阅读了this的答案,但我已经在Post-build Actions下使用Publish JUnit测试结果报告了。
Job的工作空间路径是正确的,所有测试报告.xml文件都在那里。
我错过了什么?
没有检索到构建数据。您可能需要选择一个模块。
这意味着什么在某种程度上取决于你正在处理的Jenkins项目的类型。它似乎也是该插件唯一的错误信息,这使得解密比它应该更难。
这个问题似乎是关于Freestyle作业(而不是Maven作业),因为提到了Publish 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
页面访问它们总是会产生空的结果。