Jenkins - HTML Publisher Plugin - Pas de CSS est affiché que lorsque le rapport est affiché dans Jenkins Serveur
J'ai un problème étrange avec le Jenkins HTML Publisher plugin, dans lequel toute la fantaisie de CSS, j'ai ajouté le rapport est supprimé lors de l'affichage dans Jenkins. Si j'ai télécharger le rapport au local, je suis capable de voir le CSS de mise en forme. Est-il un paramètre dans Jenkins qui permet de CSS pour être vu?
Mon Éditeur HTML Paramètres dans Jenkins:
Ma Page de Rapport lorsqu'il est affiché dans Jenkins :
Mon Rapport Page lors de l'affichage en Local :
- Double Possible de Jenkins HTML Publisher Plugin: Pas de liens externes avec Jenkins 1.643
Vous devez vous connecter pour publier un commentaire.
Compris la question. Partage ici pour d'autres utilisateurs.
CSS est supprimé en raison de la Teneur Politique de Sécurité dans Jenkins. (https://wiki.jenkins-ci.org/display/JENKINS/Configuring+Contenu+de Sécurité+de la Politique)
La règle par défaut est fixé à:
Cette règle est la suivante:
sites autorisés
D'assouplir cette règle, allez à la
cliquez sur le Script de la console sur la gauche et tapez la commande suivante:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
et Appuyez sur Exécuter. Si vous voyez le résultat en tant que "Résultat:" au-dessous "Résultat" de l'en-tête puis la protection des personnes handicapées. Ré-Exécutez votre construction et vous pouvez voir que le nouveau code HTML des fichiers archivés aura le CSS activé.
Dans CentOs, afin de permettre à des images dans le html du rapport
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:;\""
Cela fonctionne même après le redémarrage de jenkins serveur.
Directive
Source De Valeur
Veuillez vous référer plus sur le contenu de la politique de sécurité ici
(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
)Ajouter l'argument suivant les espaces séparés la liste d'arguments:
Puis redémarrez le Jenkins service pour ramasser le changement.
Allez sur “Gérer Jenkins” -> Script “console”
et d'exécuter de commande ci-dessous:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "default-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' 'unsafe-inline' data:;")
Vous pouvez résoudre ce problème en utilisant le groovy de la commande comme indiqué dans Vall's réponse.
L'effet est en place jusqu'à ce que Jenkins redémarre et après vous devez le faire à nouveau.
Une solution pour résoudre ce problème, configurez une tâche qui va le faire pour vous à chaque fois que jenkins démarre.
Vous pouvez le faire en utilisant la Démarrage de Déclenchement plugin.
Après l'installation de la création d'un nouvel emploi et vous aurez une nouvelle case à cocher dans la Construire des Déclencheurs section que vous aurez à vérifier.
Puis ajouter un exécutent le système Groovy étape de génération de script avec la commande:
Enregistrer et tout devrait fonctionner.
Pour Ubuntu 14 version utile était spécial plugins:
https://wiki.jenkins-ci.org/display/JENKINS/Startup+Déclencheur - Pour démarrer le travail sur jenkins démarrage
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 redémarrer et définit les parametr.
Et a ajouté système Groovy script pour définir parametr.
Système.setProperty("hudson.de modèle.DirectoryBrowserSupport.CSP", "bac à sable; img src "moi";")
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "sandbox allow-same-origin allow-scripts; default-src 'self'; script-src * 'unsafe-eval'; img-src *; style-src * 'unsafe-inline'; font-src *")
Aller À
et tapez la commande suivante:
puis Appuyez sur Exécuter. si vous obtenez le résultat en tant que "Résultat", puis exécutez à nouveau l'accumulation vérifier le rapport HTML format
Il est trop tard pour répondre, mais la pensée de l'action.
J'ai eu du mal avec Jenkins a été déployé sur Tomcat, essayé de l'exécution du script, c'est utile mais disparaît si tomcat est redémarré.
Fait la solution permanente par la définition de la propriété dans catalina.propriétés dans tomcat.
Fichier de propriétés: tomcat_installation_dir/conf/catalina.propriétés
Il suffit de copier coller la ligne ci-dessous dans catalina.propriétés au cours de la dernière (vous pouvez le mettre n'importe où juste pour ne pas salir avec des propriétés existantes)
-Dhudson.de modèle.DirectoryBrowserSupport.CSP=""
J'ai eu les mêmes problèmes après l'ajout de HTTPS pour mon jenkins. Dans le cas où vous rencontrez le même problème, la solution est facile de définir votre Jenkins url à utiliser le protocole HTTPS au lieu de HTTP. Il peut être configuré via jenkins de configuration -> jenkins url
Pour le réglage de la permanence de créer un fichier de script Groovy $jenkins_home comme pointant/init.groovy, ou tout .groovy fichier dans le répertoire $jenkins_home comme pointant/init.groovy.d/ avec le contenu suivant:
systemctl restart jenkins
https://wiki.jenkins.io/display/JENKINS/Post-initialization+script
Sur Debian/Ubuntu, dans aptitude installations:
sudo vi /etc/default/jenkins
-Dhudson.model.DirectoryBrowserSupport.CSP=
à laJAVA_ARGS
(par exempleJAVA_ARGS="-Dhudson.model.DirectoryBrowserSupport.CSP="
)service jenkins restart
Ce était assez pour moi, mais pour la liste complète des paramètres, voir le cette réponse.