Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Allure Plugin для Jenkin не формирует отчет


(Alex) #1

Решил прикрепить отчет allure к Jenkins. Вроде все настроил: проверил, что генерируется xml файл и что отчет можно сформировать используя mvn site. Но как только я запускаю через Jenkins, выглядит следующим образом:

'Allure Report Generation' marked build as fail

Отчет не формируется, в чем может быть проблема? P.S. Если нужна какая либо дополнительная информация скажите.


(James May) #2

а локально, вне дженкинса, отчет создается? Вероятно, где-то в Pom намудрили


(Александр Таранков) #3

А в чём конкретно ты видишь проблему-то? Сформулируй. Из названия темы проблема не понятна. Баги писал когда-нибудь?


(James May) #4

я так понимаю, что у человека проблема в том, что отчет не строится и не находит папку allure-results.
Возможно, не настроена вкладка Allure Report Generation в Jenkins


(Alex) #5

Тему исправил (баги писал =)). По существу отчет не формируется в jenkins. В самом проекте вроде настроено:

Вне jenkins отчет создается. POM:

<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>gr_id</groupId>
  <artifactId>Banners</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>SML_Frame</name>  
  	  	<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  <aspectj.version>1.8.4</aspectj.version>
    <allure.version>1.3.9</allure.version>
  </properties>
  <profiles>
  <profile>
  <id>a</id>
   <properties>    
  	<login>admin</login>
  	<password>admin</password>
  	 <include.tests>**/TestKaraoke.java</include.tests>   	 
   </properties>
  <activation>
    <activeByDefault>true</activeByDefault>
   </activation>
  </profile>
    <profile>
        <id>BasicTest</id>
        <properties>
         <include.tests>**/TariffPlan.java</include.tests>   
        <testcase.groups>com.sl.cat.SlowTest</testcase.groups>
        
        </properties>
    </profile>
      </profiles>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
           <encoding>${project.build.sourceEncoding}</encoding>
        </configuration>
      </plugin>
      <plugin>
      <groupId>org.apache.maven.plugins</groupId>
  		<artifactId>maven-surefire-plugin</artifactId>
  		<version>2.17</version>
  		<dependencies>
  		<dependency>
  	  		<groupId>org.apache.maven.surefire</groupId>
  	  		<artifactId>surefire-junit47</artifactId>
  	  		<version>2.17</version>
  	  	</dependency>
        <dependency>
  	  		<groupId>org.aspectj</groupId>
  	  		<artifactId>aspectjweaver</artifactId>
  	  		<version>${aspectj.version}</version>
  	  	</dependency>
    </dependencies>
  		<configuration>
        <argLine>
			-Dfile.encoding=UTF-8 -javaagent:${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar
		</argLine> 
		<properties>
			<property>
			
				<name>listener</name>
				<value>ru.yandex.qatools.allure.junit.AllureRunListener</value>
			</property>
		</properties>
		
        </configuration>
          
      </plugin>
      
    <!-- <plugin>
	<groupId>org.mortbay.jetty</groupId>
	<artifactId>jetty-maven-plugin</artifactId>
	<configuration>
		<webAppSourceDirectory>d:/qwerty/site/allure-maven-plugin</webAppSourceDirectory>
	</configuration>
</plugin>-->
     
    </plugins>
  </build>
  <dependencies>
  <dependency>
  <groupId>ru.yandex.qatools.allure</groupId>
  		<artifactId>allure-junit-adaptor</artifactId>
  		<version>${allure.version}</version>
  </dependency>
  <dependency>
  		<groupId>org.hibernate</groupId>
  		<artifactId>hibernate-core</artifactId>
  		<version>4.3.7.Final</version>
  	</dependency>
  	<dependency>
  		<groupId>org.mariadb.jdbc</groupId>
  		<artifactId>mariadb-java-client</artifactId>
  		<version>1.1.7</version>
  		</dependency>
    	<dependency>
  		<groupId>junit</groupId>
  		<artifactId>junit</artifactId>
  		<version>4.12</version>
  	</dependency>
  	<dependency>
  		<groupId>org.seleniumhq.selenium</groupId>
  		<artifactId>selenium-java</artifactId>
  		<version>2.44.0</version>
  	</dependency>  	  
  	  	<dependency>
  	  		<groupId>ru.stqa.selenium</groupId>
  	  		<artifactId>webdriver-factory</artifactId>
  	  		<version>1.1.43</version>
  	  	</dependency>
  	  	<dependency>
  	  		<groupId>xml-apis</groupId>
  	  		<artifactId>xml-apis</artifactId>
  	  		<version>1.4.01</version>
  	  	</dependency>

  	  	
  </dependencies>
  <reporting>
	<excludeDefaults>true</excludeDefaults>
	<plugins>
		<plugin>
			<groupId>ru.yandex.qatools.allure</groupId>
			<artifactId>allure-maven-plugin</artifactId>
			<version>1.3.9</version>
		</plugin>
	</plugins>
</reporting>
</project>

(Alex) #6

Сегодня нашел причину. Оказалось, что Jenkins использует свою директорию для workspace и плагин ищет allure-result в нем а не относительно моего проекта. Поэтому он и не находит allure-results потому что моего проекта там нет. Что в этом случае можно сделать, как указать Jenkins, что я хочу работать с конкретным проектом?


(Sergey Pirogov) #7

Еще пример как можно сгенерировать отчет
http://spirogov.github.io/how-to-generate-allure-report-offline/


(Sergey Korol) #8

Если хотите донести до сообщества ваш пример, создавайте тему в БЗ с исходниками в местный GitHub. От того, что вы заспамили 3 темы одним и тем же сообщением, - толку никакого не будет. Поверьте, люди смогут понять и с первого раза.

П.С. 2 клона будут удалены.