2011-10-21 16 views
5

Tengo un servidor Tomcat y deseo instalar Jenkins y Sonar en él. Estoy en una distribución Debian, por lo tanto, tomé Tomcat6 y Jenkins a través de apt-get. Cuando copio jenkins.war en mi directorio tomcat6/webapps, todo funciona bien. Sin embargo, cuando copio el sonar.war a Tomcat6/webapps, sónar funciona bien, pero Jenkins genera un error 500:Instalar Sonar y Jenkins en Tomcat

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) 

He también instalar el administrador (tomcat6-admin) y el gerente está fallando también cuando agrego el sonar.war.

He instalado el sonar descargándolo de codehaus, estableciendo la configuración de la base de datos y construyendo la guerra.

¿Alguien sabe por qué está sucediendo esto y podría tener una solución?

Respuesta

7

En su excepción, que aparece:

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

Hay un problema con el PermGen:

Este error se produce cuando la JVM se queda sin espacio en el montón generación permanente

Para solucionar el error, debe ingresar -XX:MaxPermSize=<Y>m (donde <Y> es la memoria que desea) en el entorno CATALINA_OPTS variable de entorno

¿Cómo lo logras? Siga este artículo (por ejemplo):

How can I increase memory in my application server ?

+0

Bullseye !!! Muchas gracias, eso es exactamente lo que sucedió. – user995032

+0

No te olvides de votar + aceptar la respuesta;) –

1

que había esta configurado en un servidor RHEL con 8 GB de RAM. He encontrado que necesitaba (en catalina.sh o la cáscara Tomcat corriendo no interactivo) Opciones VM de -Xms1024m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m

También necesitaba para restablecer el Ejecutor maxThreads, y minSpareThreads en el archivo conf/server.xml (400 y 50 respectivamente) De lo contrario, el servidor se rastreó.

Por cierto, si está utilizando Servidores virtuales, puede probar una VM ya configurada, SecureCI, que configura un entorno completo de Maven/Jenkins/Sonar CI desde el primer momento. No hay configuración si tu compilación se basa en Maven.

Cuestiones relacionadas