Как публиковать отчеты CodeNarc в Jenkins Pipeline? [Дубликат]

Математическая математика с плавающей запятой такова. В большинстве языков программирования он основан на стандарте IEEE 754 . JavaScript использует 64-битное представление с плавающей запятой, которое совпадает с Java double. Суть проблемы состоит в том, что числа представлены в этом формате как целое число раз в два раза; рациональные числа (такие как 0.1, который является 1/10), знаменатель которого не является степенью двух, не могут быть точно представлены.

Для 0.1 в стандартном формате binary64 представление может записывается в точности как

  • 0.1000000000000000055511151231257827021181583404541015625 в десятичной форме или
  • 0x1.999999999999ap-4 в нотации C99 hexfloat .

Напротив, рациональное число 0.1, которое является 1/10, может быть записано точно как

  • 0.1 в десятичной форме или
  • 0x1.99999999999999...p-4 в аналоге обозначения гексафлоата C99, где ... представляет собой бесконечную последовательность 9.

Константы 0.2 и 0.3 в вашей программе также будут приближенными к их истинные ценности. Бывает, что ближайший double до 0.2 больше, чем рациональное число 0.2, но ближайший double до 0.3 меньше, чем рациональное число 0.3. Сумма 0.1 и 0.2 заканчивается выше, чем рациональное число 0.3 и, следовательно, не согласуется с константой в вашем коде.

Достаточно полное рассмотрение арифметических вопросов с плавающей запятой Что каждый компьютерный ученый должен знать о арифметике с плавающей точкой . Для более простого объяснения см. floating-point-gui.de .

42
задан Andrew Myers 4 March 2016 в 01:16
поделиться

10 ответов

Для версии Ubuntu 14 полезными были специальные плагины:

https://wiki.jenkins-ci.org/display/JENKINS/Startup+Trigger - начать работу над jenkins startup

https://wiki.jenkins-ci.org/display/JENKINS/Groovy+plugin - запустить сценарий системы Groovy

И я выполнил задание, которое начинается с перезапуска Jenkins и устанавливает параметр.

Добавлена ​​система Groovy script для установки параметра. System.setProperty ("hudson.model.DirectoryBrowserSupport.CSP", "sandbox; img-src 'self';")

1
ответ дан abiab 25 August 2018 в 00:16
поделиться

Перейти к

Управление Jenkins -> Консоль скрипта

и введите следующую команду:

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

затем нажмите «Выполнить». если вы получите результат как «Результат», затем запустите сборку, чтобы проверить формат отчета HTML

2
ответ дан bajran 25 August 2018 в 00:16
поделиться

У меня были те же проблемы после добавления HTTPS к моим jenkins. В случае, если у вас возникла такая же проблема, решение очень просто - установите URL-адрес Jenkins для использования протокола HTTPS вместо HTTP. Его можно настроить с помощью конфигурации jenkins -> jenkins url

0
ответ дан Ben Yitzhaki 25 August 2018 в 00:16
поделиться

В Debian / Ubuntu в установках aptitude :

  • sudo vi /etc/default/jenkins
  • Добавить -Dhudson.model.DirectoryBrowserSupport.CSP= в JAVA_ARGS (например, JAVA_ARGS="-Dhudson.model.DirectoryBrowserSupport.CSP=")
  • Перезапустить jenkins - service jenkins restart

Этого было достаточно для меня, но для полного списка параметров см. этот ответ .

-1
ответ дан bushi 25 August 2018 в 00:16
поделиться

Вы можете исправить это, используя команду groovy, как указано в ответе Vall .

Эффект действует до тех пор, пока Дженкинс не перезапустится, а затем вам придется снова это сделать .

Решение для решения этой проблемы состоит в том, чтобы настроить задание, которое будет делать это для вас каждый раз, когда запускается jenkins.

Вы можете сделать это, используя плагин Startup Trigger .

После того, как вы установите его, создайте новое задание, и у вас будет новый флажок в разделе «Сборка триггеров», который вам нужно будет проверить.

Затем добавьте команду «Выполнение». Шаг сборки скрипта Groovy с командой:

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","")

Сохранить и все должно работать.

5
ответ дан Community 25 August 2018 в 00:16
поделиться

Слишком поздно реагировать, но мы решили поделиться.

Я боролся с Дженкинсом, развернутым на Tomcat, пытался выполнить скрипт, он помогает, но уходит, если tomcat перезагружен.

Сделано постоянное исправление, установив свойство в catalina.properties в tomcat.

Файл свойств: tomcat_installation_dir / conf / catalina.properties Просто скопируйте в конец ссылку в каталинии. Свойства в последний раз (вы можете установить это где угодно, просто чтобы не возиться с существующими свойствами)

-Dhudson.model.DirectoryBrowserSupport.CSP = ""

0
ответ дан Java Developer 25 August 2018 в 00:16
поделиться

В CentOs для включения изображений в html-отчете

  • sudo vi /etc/sysconfig/jenkins
  • задано в JENKINS_JAVA_OPTION

JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Dhudson.model.DirectoryBrowserSupport.CSP=\"default-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' 'unsafe-inline' data:;\""

Это будет работать даже после перезапуска сервера jenkin.

Директива

default-src: По умолчанию-src является политикой по умолчанию для загрузка контента, такого как JavaScript, изображения, CSS, шрифты, запросы AJAX, фреймы, HTML5 Media

img-src: Определяет допустимые источники изображений.

Исходное значение

'self' - Позволяет загружать ресурсы с одного и того же источника (та же схема, хост и порт).

Использование: default-src 'self'

'unsafe-inline' - Позволяет использовать встроенные исходные элементы, такие как атрибут стиля, onclick или тела тега сценария (зависит от контекста источника он применяется к) и javascript: URI.

Использование: default-src 'unsafe-inline'

'unsafe-eval' - Позволяет небезопасную динамическую оценку кода, такую ​​как JavaScript eval ()

Использование: default-src 'unsafe-eval'

data: - Позволяет загружать ресурсы через схему данных (например, изображения с кодировкой Base64).

Использование: img-src 'self' data:

< / blockquote>

Подробнее о политике безопасности контента см. здесь

4
ответ дан jithinkmatthew 25 August 2018 в 00:16
поделиться

Перейдите в «Управление Jenkins» -> «Консоль скрипта» Введите и выполните команду ниже:

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
1
ответ дан Som 25 August 2018 в 00:16
поделиться

(Следующее решение для Windows.)

Постоянное исправление заключается в изменении строки в [Jenkins directory]\jenkins.xml (для меня это в C:\Jenkins\jenkins.xml)

<executable>java.exe</executable>
<arguments>[arguments are here]</arguments>

Добавьте следующий аргумент в список аргументов, разделенных пробелами:

-Dhudson.model.DirectoryBrowserSupport.CSP=

Затем перезапустите службу Jenkins, чтобы получить изменение.

7
ответ дан twasbrillig 25 August 2018 в 00:16
поделиться

Выяснил проблему. Разделяйте его здесь для других пользователей.

CSS лишен из-за политики безопасности контента в Jenkins. ( https://wiki.jenkins-ci.org/display/JENKINS/Configuring+Content+Security+Policy )

Правило по умолчанию установлено на:

sandbox; default-src 'none'; img-src 'self'; style-src 'self';

Этот набор правил приводит к следующему:

  • Полностью не разрешен JavaScript
  • Допустимы плагины (объект / вставка)
  • Нет встроенных CSS или CSS с других сайтов, разрешенных
  • Разрешены изображения с других сайтов
  • Разрешены кадры
  • Разрешены веб-шрифты
  • Разрешено разрешение XHR / AJAX и т. д.

Чтобы отменить это правило, откройте «Управление консолью Jenkins-> Script» и введите следующую команду:

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

и нажмите «Выполнить». Если вы видите результат как «Результат:» ниже заголовка «Результат», тогда защита отключена. Повторно запустите свою сборку, и вы увидите, что новые архивы HTML будут иметь CSS.

87
ответ дан user8607806 25 August 2018 в 00:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: