Allure + Jenkins = не показываются отчеты

Проблема. установил Jenkins, AllureCLI, allure jenkins plugin.

В процессе сборки говорит что отчеты он сгененрировал, но при этом при нажатии на значок allure в дженкенсе показывается страница NotFound.

Кто нибудь сталкивался?

Started by timer
Building remotely on autotests.test.ru in workspace /home/test/jenkins/workspace/smoke_tests
[smoke_tests] $ /bin/bash -xe /tmp/hudson5852902769647830664.sh
+ cd /home/test/projects/autotests/current
+ export DISPLAY=:99
+ DISPLAY=:99
+ python run.py --config smoke_tests --notification --testrail
============================= test session starts ==============================
platform linux -- Python 3.5.1+, pytest-2.9.0, py-1.4.31, pluggy-0.3.1
rootdir: /home/test/projects/autotests/15, inifile: 
plugins: allure-adaptor-1.7.2
collected 3 items

tests/smoke_tests.py ...

========================== 3 passed in 158.12 seconds ==========================
[smoke_tests] $ /home/test/jenkins/tools/ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation/allure/bin/allure generate "/home/test/projects/autotests/current/reports/allure-xml" "/home/test/jenkins/workspace/smoke_tests/allure621335564881322883.tmp/environment" -o "/home/test/jenkins/workspace/smoke_tests/allure621335564881322883.tmp/allure-report"
Report successfully generated to the directory </home/test/jenkins/workspace/smoke_tests/allure621335564881322883.tmp/allure-report>. Use `allure report open` command to show the report.
Finished: SUCCESS

У меня было что-то подобное, но он вроде не 404 показывал, а значек загрузки (Loading…) крутился и не грузил отчеты. Билд писал что отчет построен, файлы отчета были в директориях правильных, даже скрины были, но когда открываешь - значек Loading… и все…

Мне помогло такое решение, нашел я его на странице плагина Jenkins - http://wiki.qatools.ru/display/AL/Allure+Jenkins+Plugin

Configure Jenkins Content Security

By default, Jenkins sets Content Security Policy for plugin pages. Allure requires less strict policy, you can set it via system property.

If you haven’t done it before, add the following to Jenkins system properties configuration (you need to set both Hudson and Jenkins properties to make it works):

"-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';"

You can read more about it in the Jenkins docs and find details in issue #715 in the Github repository of allure-core.

В консольке скриптовой Jenkins (http://jenkins_adress:8080/script) ввел, по очереди:

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';")

И все заработало… Как локально так и на сервере удаленном…

2 лайка

Это уже пробовали. Судя по всему на линевой машине не генерируется отчет
На вин машине все норм

Здравствуйте!
Скажите пжлст вот это помогает до перезагрузки сервиса:

В каком конфиг файле можно прописать настройки чтобы после перезагрузки сервера все продолжало работать?

А то по документации мне не ясно что за конфиг…

2 лайка

К сожалению, не подскажу. Такого не делал, у меня не часто перезагружался Jenkins, а сейчас его под рукой - нет, поскольку отказались от Jenkins… :frowning:

вроде бы вот так файл назывался для конфигураций: /jenkins/config.xml

Привет. Под Linux скорее всего нужно смотреть в сервисы /etc/init.d/jenkins и дописать ключи с которыми нужно стартовать. “”-D" это ключ

Вот тут есть описание, внизу есть ссылки на кастомный скрипт для сервиса

Под Win можно сделать то же самое в реестре HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Jenkins

1 лайк

On Linux machine:
Add JAVA_ARGS=""-Dhudson.model.DirectoryBrowserSupport.CSP="" to the /etc/default/jenkins config file

И все будет работать после перезагрузки сервера.

1 лайк

Огромное всем спасибо. Буду пробовать

Здравствуйте, если Вы нашли решение то подскажите пожалуйста

Какой версии у вас jenkins плагин?

С версии 2.13 alljre-jenkins-plugin собирает отчет в zip файл и эта проблема становится не актуальной. По-этому я хотел спросить про версию.

1 лайк