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

Не создается отчет с помощью Allure Jenkins Plugin (NullPointerException)

jenkins
maven
allure
Теги: #<Tag:0x00007f7b63c76fd8> #<Tag:0x00007f7b63c76e98> #<Tag:0x00007f7b63c76d30>

(Maria Dyuldina) #1

Здравствуйте. Столкнулась с такой проблемой: не создается allure отчет именно плагином jenkins. Сама xml-ка валидная, создается и находится, однако в процессе генерации отчета происходит ошибка:

ERROR: Publisher ru.yandex.qatools.allure.jenkins.AllureReportPublisher aborted due to exception
java.io.IOException: java.lang.NullPointerException
at ru.yandex.qatools.allure.jenkins.utils.ReportGenerator.invoke(ReportGenerator.java:50)
at ru.yandex.qatools.allure.jenkins.utils.ReportGenerator.invoke(ReportGenerator.java:25)
at hudson.FilePath.act(FilePath.java:991)
at hudson.FilePath.act(FilePath.java:969)
at ru.yandex.qatools.allure.jenkins.AllureReportPublisher.generateReport(AllureReportPublisher.java:267)
at ru.yandex.qatools.allure.jenkins.AllureReportPublisher.perform(AllureReportPublisher.java:146)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:764)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:724)
at hudson.model.Build$BuildExecution.post2(Build.java:185)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:671)
at hudson.model.Run.execute(Run.java:1769)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:374)
Caused by: java.lang.NullPointerException
at ru.yandex.qatools.clay.internal.AetherUtils.getRepositoriesAsList(AetherUtils.java:183)
at ru.yandex.qatools.clay.Aether.(Aether.java:60)
at ru.yandex.qatools.clay.Aether.aether(Aether.java:78)
at ru.yandex.qatools.allure.jenkins.utils.ReportGenerator.createAether(ReportGenerator.java:69)
at ru.yandex.qatools.allure.jenkins.utils.ReportGenerator.invoke(ReportGenerator.java:45)
… 14 more

Если посмотреть исходники, то в этом месте находится следующий код:

179        List<RemoteRepository> repositories = new ArrayList<>();

180        for (String profileName : settings.getActiveProfiles()) {

181            Profile profile = settings.getProfilesAsMap().get(profileName);

182

183            for (Repository repository : profile.getRepositories()) {

184                repositories.add(toRemoteRepository(repository, session));

185            }

186        }

187        return repositories;

Создается впечатление, что проблема с настройками мавена. Maven версии 3.2.5, settings.xml присутствует в “~/.m2” и содержит в себе:

 <servers>
    <server>
      <id>nexus</id>
      <username>username</username>
      <password>password</password>
    </server>
 </servers>
 <mirrors>
    <mirror>
       <id>nexus</id>
       <mirrorOf>*</mirrorOf>
       <url>http://****/nexus/content/groups/public/</url>
    </mirror>
 </mirrors>
 <profiles>
     <profile>
         <id>nexus</id>
         <repositories>
	    <repository>
		<id>central</id>
		<url>http://central</url>
		<releases><enabled>true</enabled></releases>
		<snapshots><enabled>true</enabled></snapshots>
	    </repository>
         </repositories>
	
         <pluginRepositories>
	     <pluginRepository>
	         <id>central</id>
		 <url>http://central</url>
		 <releases><enabled>true</enabled></releases>
		 <snapshots><enabled>true</enabled></snapshots>
	     </pluginRepository>
         </pluginRepositories>
       </profile>	
</profiles>
<activeProfiles>
   <activeProfile>nexus</activeProfile>
</activeProfiles>

Подскажите, пожалуйста, в чем может быть причина ошибки?


Allure + Jenkins (Не создается репорт: NullPointerException)
(sidelnikovmike) #2

@vania_pooh есть мысли?


(vania-pooh) #3

Быть может у профиля нужно задать имя?


(Serhii Tanchenko) #4

была такая же проблема, укажите какую версию дженкинса используете,
попробуйте обновить до последней.
Если нет, то есть костыль: добавте в Post build action mvn site:
http://joxi.ru/gV2VLq8IJ7xDrv.png


(Maria Dyuldina) #5

@SergTanchenko,

Jenkins был версии 1.611, сегодня обновила до 1.612, но проблема не исчезла. Предложенный костыль, к счастью, не понадобился, потому что проблема действительно оказалась в мавеновских settings.xml. После совета @vania_pooh я еще раз пристально проверила все профайлы и нашла проблему в секции

  <activeProfiles> 

В ней обнаружился один активный профайл, который в действительности был по какой-то причине удален из файла. Я не обращала на этот факт внимания, потому что мавен благополучно делал сборку с этой ошибкой, и по незнанию же не стала вносить удаленный профайл в код первого сообщения, чтобы максимально сократить его.

Итого проблема решена и ответ оказался как всегда на поверхности) Всем спасибо за помощь.