2016-05-04 18 views
2

Ich habe erfolgreich Allure-Bericht zu meinem Maven-basierten testNG-Projekt integriert und in der Lage, diesen Bericht mit dem Jetty-Server zu sehen. Aber jetzt versuche ich, den Reizbericht mit jenkins zu integrieren, indem ich den Anweisungen folge, wie hier vorgeschlagen - http://wiki.qatools.ru/display/AL/Allure+Jenkins+Plugin Ich bin jetzt in der Lage, das Reizsymbol auf meiner Jenkins Seite zu sehen, aber wenn ich auf dieses Symbol klicke, sehe ich eine 404- Seite nicht gefunden 'Fehler.Jenkins nicht in der Lage, das richtige Verzeichnis für den generierten Reiz Bericht xml-Datei zu identifizieren

ich debuggen weiter die Konsolenausgabe und sehen eine Ausnahme occuring-

Exception in thread "main" ru.yandex.qatools.allure.data.ReportGenerationException: Could not find any allure results 
at ru.yandex.qatools.allure.data.AllureReportGenerator.generate(AllureReportGenerator.java:58) 
at ru.yandex.qatools.allure.data.AllureReportGenerator.generate(AllureReportGenerator.java:53) 
at ru.yandex.qatools.allure.AllureMain.main(AllureMain.java:48) 
Command aborted due to exception {}. 
org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1) 
at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:404) 
at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:166) 
at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:153) 
at ru.yandex.qatools.allure.command.ReportGenerate.runUnsafe(ReportGenerate.java:48) 
at ru.yandex.qatools.allure.command.AbstractCommand.run(AbstractCommand.java:52) 
at ru.yandex.qatools.allure.CommandLine.main(CommandLine.java:46) 

Ich denke, diese Fehler, da jenkins kommt nicht in der Lage das richtige Verzeichnis des allure Bericht xml zu identifizieren und zu korrigieren, dass wir um die pom.xml so zu ändern, dass sie jenkins mitteilen kann, was der Pfad des korrekten Verzeichnisses ist.

Jemand bitte vorschlagen, was ich hier vermisse.

Antwort

1

Schließlich bekam ich die Antwort. Das Problem war meine jenkins Konfiguration nicht im Reizbericht. Ich importierte mein Projekt auf eine falsche Art und Weise, also versuchte mein jenkins, den Bericht in jenkins Arbeitsbereichverzeichnis zu finden, aber da war nichts.

Also, was ich getan habe, importiere ich mein Maven-Projekt zu Jenkins als ein freies Stil-Projekt und setzen Sie den benutzerdefinierten Arbeitsbereich zu meinem aktuellen Projektverzeichnis. Jetzt funktioniert alles gut.

+0

Mit Freestyle-Projekt, ich denke, wir können nur normale Java-Anwendungen verknüpfen, die über Ant, aber nicht über Maven erstellt. Dafür müssen wir ein Maven-Projekt anstelle eines Freestyle-Projekts erstellen. In diesem Fall, wie Sie dieses Problem beheben können? weil ich das gleiche sehe und kein Freestyle-Projekt erstellen will. Kann mir jemand helfen ? – M06494h

3

Sie müssen Ihren Allure-Ergebnispfad von Ihrem Maven-Projekt zu Jenkins von project.name\target\allure-results abrufen und in Jenkins \ Your Job \ Configure \ Allure Report \ Result hinzufügen.

Danach müssen Sie Jenkins Sicherheitseinstellung in einer von 2 Möglichkeiten ändern.

Mit dem Start Jenkins aus:

java 
-Dhudson.model.DirectoryBrowserSupport.CSP="default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline';" 
-Djenkins.model.DirectoryBrowserSupport.CSP="default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline';" 
-jar jenkins.war 

Durch diese beiden Skripte in http://Jenkins/script laufen

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline';") 

System.setProperty("jenkins.model.DirectoryBrowserSupport.CSP", "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline';") 

edit: Ich habe gerade dritten Weg, dies zu tun. Öffnen Sie in Ihrem Jenkins-Ordner jenkins.XML, und fügen Sie

zu Argumenten hinzu.

Edit:

pom.xml fragte sie:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.siba</groupId> 
    <artifactId>com.siba.selenium</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <name>selenium tests</name> 
    <description>selenium tests</description> 

    <!-- Change from here --> 

<repositories> 
    <repository> 
     <id>central</id> 
     <name>bintray</name> 
     <url>http://jcenter.bintray.com</url> 
    </repository> 
</repositories> 

<packaging>jar</packaging> 

<properties> 
    <aspectj.version>1.7.4</aspectj.version> 
    <allure.version>1.4.23</allure.version> 
</properties> 

<dependencies> 

    <dependency> 
     <groupId>ru.yandex.qatools.allure</groupId> 
     <artifactId>allure-testng-adaptor</artifactId> 
     <version>${allure.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.testng</groupId> 
     <artifactId>testng</artifactId> 
     <version>6.9.10</version> 
     <scope>test</scope> 
    </dependency> 

    <dependency> 
     <groupId>org.seleniumhq.selenium</groupId> 
     <artifactId>selenium-java</artifactId> 
     <version>2.53.0</version> 
    </dependency> 

    <dependency> 
     <groupId>com.microsoft.sqlserver</groupId> 
     <artifactId>sqljdbc4</artifactId> 
     <version>4.0</version> 
     <scope>runtime</scope> 
    </dependency> 

</dependencies> 

<build> 
    <plugins> 

     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.5.1</version> 
      <configuration> 
       <source>1.8</source> 
       <target>1.8</target> 
      </configuration> 
     </plugin> 

     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.14</version> 
      <configuration> 
       <testFailureIgnore>false</testFailureIgnore> 
       <argLine> 
        -javaagent:${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar 
       </argLine> 
      </configuration> 
      <dependencies> 
       <dependency> 
        <groupId>org.aspectj</groupId> 
        <artifactId>aspectjweaver</artifactId> 
        <version>${aspectj.version}</version> 
       </dependency> 
      </dependencies> 
     </plugin> 

    </plugins> 
</build> 
</project> 
+0

Ummm ich habe bereits diese Schritte befolgt und erneut dasselbe versucht, aber das gleiche Problem kommt wieder. Eigentlich ist das Problem, dass der Reizbericht nicht in das jenkins-Verzeichnis kopiert wird und wenn wir versuchen, darauf zuzugreifen, wird ein Fehler 404 "nicht gefunden" angezeigt. Ich glaube, das Problem ist woanders. –

+0

Konnten Sie die jenkins erfolgreich mit Reizbericht integrieren? Wenn ja, kannst du bitte deine pom.xml teilen? –

+0

Ich hatte das gleiche Problem und das Problem zeigte nicht auf das Ergebnis, das in Ihrem Maven-Projekt gefunden wurde. Wenn Sie darauf hinweisen, wie ich vorgeschlagen habe, sollte es gut funktionieren. Ich werde meine pom.XML hinzufügen, aber ich bin mir ziemlich sicher, dass es nicht dein Problem ist. – Angusiasty