HTML-страница отображается с испорченным пользовательским интерфейсом. При публикации HTML-файла отчета по экстенту с помощью плагина HTML Publisher
HTML-страница отображается с испорченным пользовательским интерфейсом. При публикации HTML-файла отчета по экстенту с использованием плагина HTML Publisher. Может ли кто-нибудь подсказать, как мне распечатать полный отчет с правильным пользовательским интерфейсом?
Снимок экрана отчета при открытии отчета html с помощью плагина HTML-издателя
Снимок экрана отчета, когда я открываю тот же HTML-файл отчета, используя браузер Firefox
5 ответов
Я столкнулся с аналогичной проблемой, когда пытался просмотреть отчет по экстентам от Дженкинса.
Причина этой проблемы: проблема связана с "Content-Security-Policy", которая представлена в Jenkins начиная с версии 1.641. Она блокирует встроенные CSS, ресурсы JS Ajax для загрузки.
Решение. Измените политику безопасности содержимого по умолчанию. Перейдите в Управление Jenkins -> Консоль скрипта и введите в консоль следующие команды:
System.clearProperty("hudson.model.DirectoryBrowserSupport.CSP");
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "sandbox allow-scripts; default-src 'self'; script-src * 'unsafe-eval'; img-src *; style-src * 'unsafe-inline'; font-src *");
перезапустите Jenkins после вышеуказанного шага
Это сработало для меня:)
Нашел решение для этой проблемы. Проблема связана с "Content-Security-Policy", которая была представлена в Jenkins начиная с версии 1.641. Она блокирует встроенные ресурсы CSS, JS Ajax для загрузки.
Чтобы преодолеть эту проблему, нам нужно использовать команду 'java -Dhudson.model.DirectoryBrowserSupport.CSP="" -jar jenkins.war', чтобы запустить сервер Jenkins из командной строки.
Ссылка: https://wiki.jenkins-ci.org/display/JENKINS/Configuring+Content+Security+Policy
Пытался решить эту проблему по-другому с помощью Groovy, используя Pre Step для сборки задания Jenkins.
1) Установите плагин Groovy [ https://plugins.jenkins.io/groovy]
2) Выполните задание -> Настроить -> Предварительные действия -> Выполните его на этапе сборки "Выполнить системный скрипт Groovy" с помощью этого скрипта: -
System.clearProperty("hudson.model.DirectoryBrowserSupport.CSP")
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "sandbox allow-same-
origin allow-scripts;default-src *; script-src 'self' 'unsafe-inline' 'unsafe-eval' *;
style-src 'self' 'unsafe-inline' *; connect-src * 'self' data:; img-src 'self'
data:;")
System.getProperty("hudson.model.DirectoryBrowserSupport.CSP")
3) В разделе "Триггеры сборки" выберите "Периодическая сборка" со следующим значением: H 12 * * *
4) Запустите Job-> GO to Console-> Check script был выполнен следующим образом:
Сценарий возвращен: sandbox allow-same-origin allow-scripts;default-src *; script-src 'self' 'unsafe-inline' 'unsafe-eval' *; style-src 'self' 'небезопасный встроенный' *; connect-src * "собственные" данные:; img-src 'собственные' данные:;
** Примечание. Каждый раз, когда задание выполняется, это свойство устанавливается заранее, и отчет по экстенту заполняется правильно.
Используйте приведенную ниже команду для удаления испорченного пользовательского интерфейса для отчета по экстентам.
- Откройте свой терминал.
- CD /etc/default
- Открыть файл
- Судо Вим Дженкинс
- Добавьте ниже команду в файл.
- JAVA_ARGS = "- Djava.awt.headless = true -Dhudson.model.DirectoryBrowserSupport.CSP ="
- Перезагрузите сервер jenkins.
- Судо сервис Дженкинс перезагрузить.
Причина этой проблемы: проблема связана с политикой Content-Security-Policy, которая введена в Jenkins начиная с версии 1.641. Она блокирует загрузку встроенных ресурсов CSS и JS Ajax.
Решение: Измените политику безопасности контента по умолчанию. Перейдите в «Управление Jenkins» -> «Консоль сценариев» и введите в консоль следующие команды:
System.clearProperty("hudson.model.DirectoryBrowserSupport.CSP");
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "sandbox allow-scripts; default-src 'self'; script-src * 'unsafe-eval'; img-src *; style-src * 'unsafe-inline'; font-src *");
перезапустите Jenkins после вышеуказанного шага
Это сработало для меня :)