Jenkins - HTML Publisher Plugin - Pas de CSS est affiché que lorsque le rapport est affiché dans Jenkins Serveur

j'ai un étrange problème avec le plugin Jenkins HTML Publisher, où tous les CSS fantaisistes que j'ai ajoutés au rapport sont supprimés lorsqu'ils sont consultés dans Jenkins. Si je télécharge le rapport sur place, je peux voir le formatage CSS. Y a-t-il à Jenkins un environnement qui permet de visualiser les CSS?

les paramètres de mon éditeur HTML dans Jenkins:

enter image description here

Ma Page de Rapport lorsqu'il est affiché dans Jenkins :

enter image description here

Ma Page de Rapport lors de l'affichage en Local :

enter image description here

44
demandé sur Andrew Myers 2016-03-04 01:03:25

10 réponses

compris le problème. Partager ici pour les autres utilisateurs.

CSS est retiré à cause de la Politique de sécurité du contenu dans Jenkins. (https://wiki.jenkins-ci.org/display/JENKINS/Configuring+Content+Security+Policy)

La règle par défaut est défini sur:

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

Cette règle est la suivante:

  • Pas de JavaScript permis à tous
  • Pas de plugins (object/embed) a permis
  • Pas de CSS en ligne, ou CSS d'autres sites autorisés
  • Pas d'images à partir d'autres sites autorisés
  • Pas de cadres a permis
  • Pas de polices web a permis
  • Non XHR / AJAX allowed, etc.

pour assouplir cette règle, allez à gérer la console Jenkins->Script et tapez la commande suivante:

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

et Appuyez sur Exécuter. Si vous voyez la sortie comme 'Result:' sous l'en-tête 'Result', alors la protection est désactivée. Relisez votre Construction et vous pouvez voir que les nouveaux fichiers HTML archivés auront la CSS activée.

92
répondu Vall 2017-11-21 12:36:03

(la solution suivante est pour Windows.)

Une solution permanente est de 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>

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

-Dhudson.model.DirectoryBrowserSupport.CSP=

puis redémarrez le service Jenkins pour récupérer le changement.

7
répondu twasbrillig 2017-02-22 03:42:38

Vous pouvez corriger cela en utilisant la commande groovy comme spécifié dans Vall

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

et j'ai fait un travail, qui commence sur Jenkins restart et fixe le paramètre.

set to start build after Jenkins is ran

et ajouté le système Groovy script à ensemble parametr. Run System Groovy script Système.setProperty ("hudson.modèle.DirectoryBrowserSupport.CSP", "bac à sable; img src "moi";")

1
répondu abiab 2017-05-17 08:30:02

aller à" gérer Jenkins "- > " console de Script" Type et d'exécuter de commande ci-dessous:

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
1
répondu Som 2018-05-16 20:14:45

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

J'ai eu du mal avec Jenkins déployé sur Tomcat, essayé l'exécution de script, ça aide mais ça disparaît si tomcat est redémarré.

fait la fixation permanente en plaçant la propriété dans catalina.propriétés en tomcat.

fichier de propriétés: tomcat_installation_dir/conf / catalina.propriété Il suffit de copier coller la ligne ci-dessous en catalina.propriétés à la fin (vous pouvez le définir n'importe où juste pour ne pas jouer avec propriétés existantes)

-Dhudson.modèle.DirectoryBrowserSupport.CSP=""

0
répondu Java Developer 2018-02-19 13:38:09

j'ai eu les mêmes problèmes après avoir ajouté HTTPS à mon jenkins. Dans le cas où vous avez le même problème, la solution est facile - définissez votre url Jenkins pour utiliser le protocole HTTPS au lieu de HTTP. Il peut être configuré via jenkins configuration -> jenkins url

0
répondu Ben Yitzhaki 2018-03-05 08:20:46

Gérer Jenkins --> Script console

et tapez la commande suivante:

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

puis appuyez sur Run. si vous obtenez la sortie comme 'résultat', alors relancez la construction vérifiez le format du rapport HTML

0
répondu Shailendra 2018-08-13 09:24:01

Debian / Ubuntu, en aptitude des installations:

  • sudo vi /etc/default/jenkins
  • Ajouter -Dhudson.model.DirectoryBrowserSupport.CSP=JAVA_ARGS(e.g. JAVA_ARGS="-Dhudson.model.DirectoryBrowserSupport.CSP=")
  • Redémarrer jenkins - service jenkins restart

C'est assez pour moi, mais pour la liste complète des paramètres, voir le cette réponse.

-1
répondu bushi 2017-11-16 10:37:12