Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

allure pipeline step генерирует пустой отчет

jenkins
allure
Теги: #<Tag:0x00007fedbb978910> #<Tag:0x00007fedbb9785a0>

(ya) #1

Jenkins version: 2.60.2
Job type: Pipeline
Allure plugin version: 2.22
Allure commandline version: 2.3.3

Проблема:

  • Pipeline job сохраняет результаты тестов (pytest) в “allure_reports”
  • Allure step сгенерированый через snippet generator должен сгенерировать репорт из данных внутри “allure_reports”: allure jdk: ‘’, results: [[path: “allure_reports”]]
  • Allure игнорирует результаты тестов, и генерирует пустой отчет внутри папки с “allure_reports”
/tools/ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation/2.3.3/bin/allure generate -o allure-report
allure-results does not exists
send analytics
Report successfully generated to allure-report

в качестве workaround, запускал allure-report вручную:

/tools/ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation/2.3.3/bin/allure generate allure_reports -o allure-report
Report successfully generated to allure-report

в этом случае все хорошо, кроме то что нет автоматической загрузки в jenkins результатов.

Если кто может подсказать:

  • Правильно ли вообще сгенерирован step? allure jdk: ‘’, results: [[path: “allure_reports”]]
  • Есть ли у кого работающий пример с pipeline?
  • Не баг ли это плагина ? (на всякий случай открыл https://github.com/jenkinsci/allure-plugin/issues/156 , но там пока тишина)

Спасибо


(Yaroslav Pernerovskyy) #2

allure-results does not exists это наводит на мысль, что не прописан путь к папке с результатами в дженкинсе

гляньте тут:
http://automated-testing.info/search?q=allure-results%20does%20not%20exists


(ya) #3

в поиск ходил :slight_smile: но либо я не знаю что искать либо одно из двух.
поначалу тоже думал что не хватает какой то настройки.

но все тоже самое только с freestyle project и allure-report плагин из post-build-actions работает без проблем:

tools/ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation/2.3.3/bin/allure generate ...../ci/testing-base/logs/allure -o .../ci/allure-report
Report successfully generated to ..../ci/allure-report
Allure report was successfully generated.
Creating artifact for the build.
Artifact was added to the build.

а вот с pipeline тупик, тако чувство что действительно в этом случае плагин просто не видит переменной path.
хотя именно туда кладет пустой репорт.


(Artem Eroshenko) #4

Уже разборались или проблема воспроизводится?


(ya) #5

к сожалению пока не разобрался :confused:
если у кого есть рабочий пример именно с pipeline (все примеры что я находил с pom/java/etc не сильно помогают)…


(Sergey Korol) #6

Я в пайплайне использую. Проблем не замечал. Завтра скину точный конфиг.


(Sergey Korol) #7
stage('Publish tests results') {
    allure([
        includeProperties: true,
        jdk              : '',
        properties       : [],
        reportBuildPolicy: 'ALWAYS',
        results          : [[path: 'ui-tests/build/allure-results']]
    ])
}

ui-tests - модуль с тестами,
build - дефолтная директория для gradle сборки (для maven будет target),
allure-results - дефолтная директория с результатами.

П.С. Для python не в курсе, где там результаты складируются. Нужно смотреть адаптер.


(ya) #8

спасибо,
проблема осталась, поэтому просто создал новый pipeline с одним единственным тестом

node('TEST-SERVER')  {
    stage ('Test') {
        sh 'py.test test_1.py --alluredir=logs/'
    }

    stage ('Results') {
        allure jdk: '', results: [[path: "logs/"]]
    }
}

и все заработало как надо, видимо что то у нас в системе тестов не так создается и проблема не в allure.
всем спасибо!


(Pavel Stryhelski) #9

Сергей, можно ли узнать небольшие подробности тут:

  1. какая версия плагина используется
  2. какой файл выкачивается для генерирования отчета - у меня качает данную версию:
    Unpacking https://oss.sonatype.org/content/repositories/releases/ru/yandex/qatools/allure/allure-commandline/1.4.23.HOTFIX1/allure-commandline-1.4.23.HOTFIX1-standalone.zip
    ?

благодарю за ответы


(Sergey Korol) #10

Вы подключаете древнюю версию видимо. В доках есть более или менее свежее описание: https://docs.qameta.io/allure/#_jenkins

Версии плагина рекомендую отслеживать тут: https://github.com/jenkinsci/allure-plugin/releases
Самого репорта - тут: https://github.com/allure-framework/allure2/releases
Java адаптеров - тут: https://github.com/allure-framework/allure-java


(Pavel Stryhelski) #11

Самое интересное, что плагин в дженкинсе у нас последний,
но так как мы юзаем и C# и Java (gradle) проекты - то он не работает ни там ни там.


(Sergey Korol) #12

Там не просто надо плагин устанавливать, а еще и конфигурировать commandline для скачивания нужной версии.


(Pavel Stryhelski) #13

Сергей, хочу выразить тебе свою благодраность! =)
Т.к. нет доступа в настройки - не мог знать, что нужно еще что-то настраивать
В данный момент я попросил поменять версию CommandLine и все заработало сразу.
вот, что значит “need some fresh eyes” =)


(Sergey Korol) #14

Можно просто воспользоваться встроенным функционалом :wink:


(Pavel Stryhelski) #15

бггг =)
сообщение лучше, чем лойс. ну раз настаиваешь - держи =))