web-dev-qa-db-fra.com

Jenkins - HTML Publisher Plugin - Aucun CSS n'est affiché lorsque le rapport est affiché dans le serveur Jenkins.

J'ai un problème étrange avec le plugin Jenkins HTML Publisher, dans lequel tous les CSS sophistiqués que j'ai ajoutés au rapport sont supprimés lors de leur affichage dans Jenkins. Si je télécharge le rapport au niveau local, je peux voir le formatage CSS. Existe-t-il un paramètre dans Jenkins permettant de visualiser CSS?

Mes paramètres d'éditeur HTML dans Jenkins:

 enter image description here

Ma page de rapport lorsqu'elle est affichée dans Jenkins:

 enter image description here

Ma page de rapport lorsqu'elle est affichée en local:

 enter image description here

52
Vall

(La solution suivante concerne Windows.)

Une solution permanente consiste à changer une ligne dans [Jenkins directory]\jenkins.xml (pour moi, c'est à C:\Jenkins\jenkins.xml)

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

Ajoutez l'argument suivant à la liste d'arguments séparés par des espaces:

-Dhudson.model.DirectoryBrowserSupport.CSP=

Puis redémarrez le service Jenkins pour prendre en charge le changement.

9
twasbrillig

Vous pouvez résoudre ce problème en utilisant la commande groovy spécifiée dans la réponse de Vall .

L'effet est en place jusqu'à ce que Jenkins redémarre et que vous deviez le refaire ensuite.

Une solution pour résoudre ce problème consiste à configurer un travail qui le fera pour vous à chaque démarrage de Jenkins.

Vous pouvez le faire en utilisant le plugin Startup Trigger

Après l’avoir installé, créez un nouveau travail et vous aurez une nouvelle case à cocher sous la section Build Triggers que vous devrez cocher.

Ajoutez ensuite une étape de construction du script Groovy d’exécution avec la commande:

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

Économisez et tout devrait fonctionner.

5
dragosb

Allez dans "Manage Jenkins" -> "Console de script"

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

Pour Ubuntu 14, des plugins spéciaux étaient utiles:

https://wiki.jenkins-ci.org/display/JENKINS/Startup+Trigger - Pour commencer le travail au démarrage de jenkins

https://wiki.jenkins-ci.org/display/JENKINS/Groovy+plugin - Pour exécuter le script System Groovy

Et j'ai fait un travail, qui commence au redémarrage de Jenkins et définit parametr.

 set to start build after Jenkins is ran

Et ajouté le script système Groovy pour définir parametr .  Run System Groovy script System.setProperty ("hudson.model.DirectoryBrowserSupport.CSP", "sandbox; img-src 'self';")

3
abiab

Pour définir de manière permanente, créez un fichier de script Groovy $ JENKINS_HOME/init.groovy , ou n’importe quel fichier .groovy dans le répertoire $ JENKINS_HOME/init.groovy.d/avec le contenu suivant:

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "sandbox allow-scripts; default-src 'self'; img-src *; style-src 'self' 'unsafe-inline'; script-src * 'unsafe-inline';")

systemctl redémarrer Jenkins

https://wiki.jenkins.io/display/JENKINS/Post-initialization+script

0
Karen Danielyan

Aller à 

Gérer Jenkins -> Console de script

et tapez la commande suivante:

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

puis appuyez sur Run. Si vous obtenez le résultat sous "Résultat", relancez la construction et vérifiez le format du rapport HTML

0
Shailendra

Il est trop tard pour répondre, mais j'ai pensé à partager.

Je me débattais avec Jenkins déployé sur Tomcat, j'ai essayé l'exécution du script, cela aide mais disparaît si Tomcat est redémarré.

Faites le correctif permanent en définissant la propriété dans catalina.properties dans Tomcat.

Fichier de propriétés: rép_installation_Tomcat/conf/catalina.properties Il suffit de copier/coller la ligne ci-dessous dans catalina.properties au dernier (vous pouvez la définir n'importe où pour ne pas déranger les propriétés existantes)

-Dhudson.model.DirectoryBrowserSupport.CSP = ""

0
Java Developer

J'ai eu les mêmes problèmes après avoir ajouté HTTPS à mes jenkins. Si vous rencontrez le même problème, la solution est simple - configurez votre URL Jenkins pour utiliser le protocole HTTPS au lieu de HTTP Il peut être configuré via la configuration de jenkins -> url de jenkins

0
Ben Yitzhaki

Pour définir la propriété système de manière permanente si vous utilisez Jenkins-X , créez ensuite le fichier myvalues.yaml dans le répertoire en cours, avec le contenu suivant:

jenkins:
  Master:
    JavaOpts: >
      -Dhudson.model.DirectoryBrowserSupport.CSP=

Puis redémarrez la plate-forme jenkins-x, ce qui peut être fait en la mettant à niveau:

$ jx upgrade platform --always-upgrade
# Presumably jx.exe is used if on Windows (not tested)

Pour éviter de réellement mettre à niveau la plate-forme, mettez-la de force à la même version:

$ version=$(jx version --no-version-check\
            | grep 'jenkins x platform' | sed -e 's/^jenkins.\+ //')
$ jx upgrade platform --version ${version} --always-upgrade
0
Gunnar