2011-10-21 2 views
5

Tomcat 서버가 있는데 Jenkins와 Sonar를 설치하고 싶습니다. 저는 데비안 배포판에 있습니다. 따라서 apt-get을 통해 tomcat6과 Jenkins를 얻었습니다. jenkins.war을 tomcat6/webapps 디렉토리에 복사하면 모든 것이 정상적으로 실행됩니다. 내가/웹 어플리케이션을 tomcat6하는 sonar.war를 복사 할 때, 음파 탐지기가 잘 작동하지만 젠킨스에서 오류가 발생 500 :Tomcat에 Sonar 및 Jenkins 설치

javax.servlet.ServletException: org.apache.commons.jelly.JellyTagException: jar:file:/var/lib/tomcat6/webapps/jenkins/WEB-INF/lib/jenkins-core-1.435.jar!/hudson/model/View/index.jelly:39:43: <st:include> PermGen space 
    org.kohsuke.stapler.jelly.JellyClassTearOff.serveIndexJelly(JellyClassTearOff.java:112) 
    org.kohsuke.stapler.jelly.JellyFacet.handleIndexRequest(JellyFacet.java:124) 
    org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:550) 
    org.kohsuke.stapler.Stapler.invoke(Stapler.java:646) 
    org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:612) 
    org.kohsuke.stapler.Stapler.invoke(Stapler.java:646) 
    org.kohsuke.stapler.Stapler.invoke(Stapler.java:477) 
    org.kohsuke.stapler.Stapler.service(Stapler.java:159) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
    hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95) 
    hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87) 
    hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47) 
    hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) 
    hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76) 
    hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164) 
    hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81) 

I했습니다 또한 관리자 (tomcat6-관리자)를 설치하고 관리자가 너무 때 실패 나는 sonar.war를 추가한다.

저는 codehaus에서 다운로드하여 데이터베이스 구성을 설정하고 전쟁을 구축함으로써 sonar를 설치했습니다.

왜 이런 일이 발생하고 해결책이 있는지 알고있는 사람이 있습니까? 당신의 예외에

답변

7

, 나타납니다

PermGen space 
org.kohsuke.stapler.jelly.JellyClassTearOff.serveIndexJelly(JellyClassTearOff.java:112) 

이 permgen에 문제가있다 : JVM이 영구 세대 힙 공간이 부족하면이 오류가 발생

오류를 수정하려면 -XX:MaxPermSize=<Y>m (여기서 <Y>은 원하는 메모리)을 CATALINA_OPTS envi 변수.

어떻게 이것을 수행합니까? (예를 들어)이 문서를 따르십시오 :이 8GB의 RAM과 RHEL 서버에 구성된했다

How can I increase memory in my application server ?

+0

불스 아이! 고마워, 그게 정확히 무슨 일이야. – user995032

+0

voteup + 답을 수락하는 것을 잊지 마십시오;) –

1

. 나는 (각각 400, 50) 나는 -Xms1024m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m

나는 또한 집행자 maxThreads를 재설정 할 필요

및 conf/server.xml 파일에 minSpareThreads의 VM 옵션 (catalina.sh 또는 비 대화식 쉘 실행 바람둥이에) 필요한 발견 그렇지 않으면 서버가 크롤링됩니다.

그런데 가상 서버를 사용하는 경우 이미 구성된 VM 인 SecureCI을 사용해보십시오.이 VM은 완전한 Maven/Jenkins/Sonar CI 환경을 설정합니다. 빌드가 Maven에 의존하는 경우 구성이 없습니다.

관련 문제