【问题标题】:Is there an example of JUnit Attachments Jenkins Plugin working?是否有 JUnit Attachments Jenkins 插件工作的示例?
【发布时间】:2014-06-21 02:01:14
【问题描述】:

在过去的一个小时左右,我一直在努力让以下工作正常进行。我将附件存储在目标目录中。但是它们在课程级别或测试级别的测试页面上都没有链接。

我已经尝试了以下所有组合:

  • 将附件文件夹target/surefire-reports/[class]/ 与目标/surefire-reports/[class].xml 文件夹放在一起
  • target/surefire-reports/[class.mothod]/target/surefire-reports/[class].xml
  • 将附件文件夹放入目标/testArtifacts/[class]/ 并在标准输出中打印[[ATTACHMENT|target/testArtifacts/[class]/captureDebug.txt]]
  • 将附件文件夹放入target/testArtifacts/[class]/ 并在标准输出中打印[[ATTACHMENT|/var/lib/jenkins/.../target/testArtifacts/[class]/captureDebug.txt]]

我正在使用从属主设置运行,这不重要。

我的 Jenkins 版本是 1.529,JUnit 附件插件是 1.3。

https://wiki.jenkins-ci.org/display/JENKINS/JUnit+Attachments+Plugin

我创建了一个简单的项目来说明这个问题,你可以在这里得到它:

https://github.com/marklemay/simple-failing-project

它是使用命令行 maven (mvn -U -Pci clean integration-test -e) 构建的。

【问题讨论】:

  • 从您的问题中不清楚您的尝试有什么问题。请更详细地解释它是如何不起作用的。
  • 测试页面上应该有指向生成的测试工件的链接。但是没有。
  • 我很久没看这个了,然后(在一些 Jenkins 升级之后)它又开始工作了。

标签: junit jenkins continuous-integration jenkins-plugins


【解决方案1】:

当我第一次尝试使用 JUnit 附件插件时,我认为它不起作用,因为似乎没有任何效果。我使用 Jenkins 版本 1.528、JUnitAttachment 插件版本 1.3、Ant(不是 Maven)在主服务器(无从服务器)上构建,以及在 stderr 中使用 [[ATTACHMENT|...]](带有绝对路径)的方法。确实复制到<JENKINSDIR>/jobs/<JOBNAME>/builds/<DATETIME>/junit-attachments 中的构建结果目录的文件。附件仅显示在班级级别。 junit-attachments 目录是否出现在您的构建结果目录中?

【讨论】:

  • “附件只显示在班级级别”。这是我的情况:我希望它们显示在每个页面(例如测试结果的主页)中,但不幸的是它们没有。谢谢你的提示,其他地方没有提到,AFAIK!
【解决方案2】:

在将附件写入预期目录时,您的示例项目对我有用(有点),如下面的差异所示。我正在使用 Jenkins 1.540 和 junit-attachments-plugin 1.3,并且项目配置为 maven 2/3。我在测试类页面的页面上看到了附件。

但是,我提到的那种“类型”是因为您的项目和附件存在我正在尝试解决的相同问题,当单击附件的链接会导致 404 页面时。

--- a/src/test/Math/MathTest.java
+++ b/src/test/Math/MathTest.java
@@ -14,13 +14,13 @@ public class MathTest {
    public void test1p1e2() throws Exception {

            //does file writing work?
-        String relpath = "target/testArtifacts/";
+        String relpath = "target/surefire-reports/Math.MathTest/";

     (new File(relpath)).mkdirs();
     String root = relpath + this.getClass().getName();
     (new File(root)).mkdirs();

-        File path = new File(root + "/Insight.math");
+        File path = new File(root + "/test1ple2.math");
     FileUtils.write(path, "things are getting SUbtracted!!!!");

【讨论】:

    【解决方案3】:

    我认为解决这个问题的方法是升级到最新版本的 Jenkins。我的公司就我们如何配置 JUnit Attachments Jenkins 插件做了一个 blog post,以防对任何人有所帮助。

    【讨论】:

    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效
    • 我不太确定最佳做法是什么。我在 cmets 中注意到问题似乎可以自行解决。我认为这是升级相关的。处理这个问题的最佳方法是什么。最好只是删除问题,因为这大概不再是问题了吗?
    猜你喜欢
    • 1970-01-01
    • 2023-03-06
    • 2014-11-07
    • 1970-01-01
    • 1970-01-01
    • 2018-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多