html css jenkins jenkins-plugins

Jenkins-Complemento HTML Publisher-No se muestra CSS cuando se visualiza el informe en el servidor Jenkins



jenkins-plugins (9)

(La siguiente solución es para Windows).

Una solución permanente es cambiar una línea en [Jenkins directory]/jenkins.xml (para mí está en C:/Jenkins/jenkins.xml )

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

Agregue el siguiente argumento a la lista de argumentos separados por espacios en blanco:

-Dhudson.model.DirectoryBrowserSupport.CSP=

Luego reinicie el servicio de Jenkins para recoger el cambio.

Tengo un problema extraño con el complemento de editor de HTML de Jenkins, en el que todo el elegante CSS que agregué al informe se elimina cuando se lo ve en Jenkins. Si descargo el informe a local, puedo ver el formato CSS. ¿Hay alguna configuración en Jenkins que permita ver CSS?

Mi configuración de editor HTML en Jenkins:

Mi página de informe cuando se muestra en Jenkins:

Mi página de informe cuando se muestra en Local:


Descubierto el problema. Compartirlo aquí para otros usuarios.

CSS se elimina debido a la Política de seguridad de contenido en Jenkins. ( https://wiki.jenkins-ci.org/display/JENKINS/Configuring+Content+Security+Policy )

La regla predeterminada está establecida en:

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

Este conjunto de reglas da como resultado lo siguiente:

  • Sin JavaScript permitido en absoluto
  • No se permiten complementos (objeto / inserción)
  • No se permite CSS en línea ni CSS de otros sitios
  • No se permiten imágenes de otros sitios
  • No se permiten marcos
  • No se permiten fuentes web
  • No se permite XHR / AJAX, etc.

Para relajar esta regla, vaya a Administrar consola de Jenkins-> Script y escriba el siguiente comando:

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

y presiona Run. Si ve el resultado como ''Resultado:'' debajo del encabezado ''Resultado'', entonces la protección está desactivada. Vuelva a ejecutar su compilación y podrá ver que los nuevos archivos HTML archivados tendrán habilitado CSS.


En CentOs , para habilitar imágenes en informe html

  • sudo vi /etc/sysconfig/jenkins
  • establecer siguiendo en 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:;/""

Esto funcionará incluso después de reiniciar el servidor jenkin.

Directiva

default-src : el src predeterminado es la política predeterminada para cargar contenido como JavaScript, imágenes, CSS, fuentes, solicitudes AJAX, marcos, medios HTML5

img-src: define fuentes válidas de imágenes.

Valor de origen

''self'': permite cargar recursos del mismo origen (mismo esquema, host y puerto).

Uso: default-src ''self''

''inseguro en línea'' : permite el uso de elementos de origen en línea como atributos de estilo, onclick o cuerpos de etiquetas de scripts (depende del contexto de la fuente a la que se aplica) y javascript: URI.

Uso: default-src ''unsafe-inline''

''inseguro-eval'' - Permite la evaluación insegura del código dinámico como JavaScript eval ()

Uso: default-src ''unsafe-eval''

datos: - Permite cargar recursos a través del esquema de datos (por ejemplo, imágenes codificadas en Base64).

Uso: img-src ''self'' data:

Por favor, consulte más sobre la política de seguridad de contenido aquí


En Debian / Ubuntu , en instalaciones de aptitud :

  • sudo vi /etc/default/jenkins
  • Agregue -Dhudson.model.DirectoryBrowserSupport.CSP= a JAVA_ARGS (por ejemplo, JAVA_ARGS="-Dhudson.model.DirectoryBrowserSupport.CSP=" )
  • Reiniciar jenkins - reinicio de jenkins de service jenkins restart

Esto fue suficiente para mí, pero para la lista completa de parámetros, vea esta respuesta .


Es demasiado tarde para responder, pero pensé compartirlo.

Estaba luchando con Jenkins implementado en Tomcat, intenté la ejecución del script, ayuda pero desaparece si tomcat se reinicia.

Hizo la solución permanente estableciendo la propiedad en catalina.properties en tomcat.

Archivo de propiedades: tomcat_installation_dir / conf / catalina.properties Simplemente copie y pegue la siguiente línea en catalina.properties al final (puede configurarlo en cualquier lugar para no interferir con las propiedades existentes)

-Dhudson.model.DirectoryBrowserSupport.CSP = ""


Para la versión de Ubuntu 14, útiles fueron los complementos especiales:

https://wiki.jenkins-ci.org/display/JENKINS/Startup+Trigger - Para comenzar a trabajar en jenkins startup

https://wiki.jenkins-ci.org/display/JENKINS/Groovy+plugin - Para ejecutar script de System Groovy

E hice un trabajo, que comienza con el reinicio de Jenkins y establece el parámetro.

Y agregó el sistema Groovy script para configurar el parámetro. System.setProperty ("hudson.model.DirectoryBrowserSupport.CSP", "sandbox; img-src ''self'';")


Puedes arreglar esto usando el comando groovy como se especifica en la respuesta de .

El efecto está en su lugar hasta que Jenkins se reinicie y luego tienes que volver a hacerlo.

Una solución para resolver este problema es configurar un trabajo que lo hará por usted cada vez que jenkins se inicie.

Puedes hacer esto usando el plugin Startup Trigger .

Después de instalarlo, cree un nuevo trabajo y tendrá una nueva casilla de verificación debajo de la sección Disparadores de compilación que deberá verificar.

A continuación, agregue un paso de compilación de script Groovy del sistema de ejecución con el comando:

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

Ahorre y todo debería funcionar.


Tuve los mismos problemas después de agregar HTTPS a mis jenkins. En caso de que tenga el mismo problema, la solución es fácil: configure su url de Jenkins para usar el protocolo HTTPS en lugar de HTTP. Se puede configurar a través de la configuración de jenkins -> url jenkins


Vaya a "Administrar Jenkins" -> "Consola de script" Escriba y ejecute el siguiente comando:

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