[html] Jenkins-HTML 게시자 플러그인-Jenkins 서버에서 보고서를 볼 때 CSS가 표시되지 않음
답변
문제를 파악했습니다. 다른 사용자를 위해 여기에서 공유합니다.
Jenkins의 콘텐츠 보안 정책으로 인해 CSS가 제거되었습니다. ( https://wiki.jenkins-ci.org/display/JENKINS/Configuring+Content+Security+Policy )
기본 규칙은 다음과 같이 설정됩니다.
sandbox; default-src 'none'; img-src 'self'; style-src 'self';
이 규칙 세트의 결과는 다음과 같습니다.
- 자바 스크립트가 전혀 허용되지 않음
- 플러그인 (객체 / 포함)이 허용되지 않음
- 인라인 CSS 또는 다른 사이트의 CSS는 허용되지 않습니다.
- 다른 사이트의 이미지는 허용되지 않습니다.
- 허용되는 프레임 없음
- 허용되는 웹 글꼴 없음
- XHR / AJAX는 허용되지 않습니다.
이 규칙을 완화하려면 다음으로 이동하십시오.
- Jenkins 관리->
- 노드 관리->
- 설정 (톱니 바퀴 아이콘)-> 클릭
-
왼쪽의 스크립트 콘솔을 클릭하고 다음 명령을 입력하십시오.
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
그리고 실행을 누릅니다. 출력이 “결과”헤더 아래에 ‘결과 :’로 표시되면 보호가 비활성화 된 것입니다. 빌드를 다시 실행하면 보관 된 새 HTML 파일에 CSS가 활성화되어 있음을 알 수 있습니다.
답변
에서 가상 코어 , 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:;\""
젠킨스 서버를 다시 시작한 후에도 작동합니다.
지령
default-src : default-src는 JavaScript, 이미지, CSS, 글꼴, AJAX 요청, 프레임, HTML5 미디어와 같은 콘텐츠를로드하기위한 기본 정책입니다.
img-src : 유효한 이미지 소스를 정의합니다.
소스 값
‘self’- 동일한 출처 (동일한 체계, 호스트 및 포트)에서 리소스를로드 할 수 있습니다.
사용법 :
default-src 'self'
‘안전하지 않은 인라인은’ – 의 URI : 같은 스타일 속성의 onclick 또는 스크립트 태그의 몸 인라인 소스 요소의 사용과 자바 스크립트합니다 (이 적용되는 소스의 상황에 따라 다름) 할 수 있습니다.
사용법 :
default-src 'unsafe-inline'
‘안전 – 평가는’ – ) (자바 스크립트의 평가 동적으로 안전하지 않은 코드를 평가할 수있다
사용법 :
default-src 'unsafe-eval'
데이터 : – 데이터 체계를 통해 리소스를로드 할 수 있습니다 (예 : Base64 인코딩 이미지).
사용법 :
img-src 'self' data:
답변
“Manage Jenkins”->“Script console”로 이동하여 아래 명령을 실행하십시오.
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
답변
(다음 솔루션은 Windows 용입니다.)
영구적 인 수정은 줄을 변경하는 것입니다 [Jenkins directory]\jenkins.xml
(나를 위해 그것은에 있습니다 C:\Jenkins\jenkins.xml
)
<executable>java.exe</executable>
<arguments>[arguments are here]</arguments>
공백으로 구분 된 인수 목록에 다음 인수를 추가합니다.
-Dhudson.model.DirectoryBrowserSupport.CSP=
그런 다음 Jenkins 서비스를 다시 시작하여 변경 사항을 적용합니다.
답변
Vall에 지정된대로 groovy 명령을 사용하여이 문제를 해결할 수 있습니다. 의 답변에 .
효과는 Jenkins가 다시 시작될 때까지 적용되며 나중에 다시 수행해야합니다.
이 문제를 해결하는 해결책은 젠킨스가 시작될 때마다이를 수행 할 작업을 구성하는 것입니다.
시작 트리거 플러그인 을 사용하여이 작업을 수행 할 수 있습니다 .
설치 후 새 작업을 만들고 확인해야 할 빌드 트리거 섹션 아래에 새 확인란이 생깁니다 .
그런 다음 다음 명령으로 Execute system Groovy 스크립트 빌드 단계를 추가합니다.
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","")
저장하면 모든 것이 작동합니다.
답변
우분투 14 버전의 경우 특별한 플러그인이 유용했습니다.
https://wiki.jenkins-ci.org/display/JENKINS/Startup+Trigger- 젠킨스 시작시 작업 시작
https://wiki.jenkins-ci.org/display/JENKINS/Groovy+plugin-System Groovy 스크립트 실행
그리고 Jenkins를 다시 시작하고 매개 변수를 설정하는 작업을 수행했습니다.
그리고 parametr를 설정하기 위해 시스템 Groovy 스크립트를 추가했습니다.
System.setProperty ( “hudson.model.DirectoryBrowserSupport.CSP”, “sandbox; img-src ‘self’;”)
답변
이동
Jenkins 관리-> 스크립트 콘솔
다음 명령을 입력하십시오.
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
그런 다음 실행을 누릅니다. ‘결과’로 출력을 받으면 HTML 보고서 형식을 확인하여 빌드를 다시 실행하십시오.