Le Touilleur Express

  • Accueil
  • A propos de l’auteur
  • A propos du Touilleur Express
Next Previous

Comparaison de différents logiciels d'intégration continue

1 février, 2006

Utilisateur de CruiseControl depuis presque 2 ans, au moment d’installer et de mettre celui-ci en place dans ma nouvelle équipe je me suis demandé s’il n’existe pas d’autres solutions d’intégration continue. J’avais entendu parler de Luntbuild et Anthill. Mais bon, quelques tests plus tard je pense que CruiseControl pour de l’intégration continue d’un projet Java est le plus puissant et le plus simple à installer. Il a l’avantage d’être gratuit et open source.
Sur cette page vous trouverez un tableau récapitulatif des différentes fonctionalités de CruiseControl comparées à ses concurrents.

J’ai rencontré un petit problème sur l’application web de Cruise Control. Lorsque le visiteur clique sur l’onglet « Metrics » une page blanche est affichée et une exception est levée sur Tomcat.

2006-01-25 09:09:30 StandardContext[/cruisecontrol]jsp: http://ptxsfrabench2:8080/cruisecontrol/buildresults/kiwi: (null)
java.lang.NoClassDefFoundError
        at org.jfree.chart.ChartFactory.createPieChart(Unknown Source)
        at de.laures.cewolf.taglib.CewolfChartFactory.getChartInstance(CewolfChartFactory.java:76)
        at de.laures.cewolf.taglib.SimpleChartDefinition.produceChart(SimpleChartDefinition.java:30)
        at de.laures.cewolf.taglib.AbstractChartDefinition.getChart(AbstractChartDefinition.java:81)
        at de.laures.cewolf.taglib.ChartImageDefinition.ensureRendered(ChartImageDefinition.java:131)
        at de.laures.cewolf.taglib.ChartImageDefinition.getBytes(ChartImageDefinition.java:125)
        at de.laures.cewolf.storage.SerializableChartImage.(SerializableChartImage.java:51)
        at de.laures.cewolf.storage.SessionStorage.storeChartImage(SessionStorage.java:57)
        at de.laures.cewolf.storage.SessionStorage.storeChartImage(SessionStorage.java:35)
        at de.laures.cewolf.taglib.tags.ChartImgTag.doStartTag(ChartImgTag.java:74)
        at org.apache.jsp.main_jsp._jspx_meth_cewolf_img_0(main_jsp.java:959)
        at org.apache.jsp.main_jsp._jspService(main_jsp.java:640)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
        at java.lang.Thread.run(Thread.java:536)


3 mn sous Google plus tard, j’ai trouvé la solution. Le problème vient du fait que j’ai installé CC sur une SUN sans display et donc sans serveur X.
Il faut simplement modifier le script de démarrage de Tomcat en ajoutant les options suivantes

   # For X11 and CruiseControl Metrics tab
   JAVA_OPTS=-Djava.awt.headless=true
   export JAVA_OPTS
0 no like

Articles similaires:

Default ThumbnailJBoss Seam 2.0 Beta 1 premiers tours de clefs Default ThumbnailJBoss 4.2.2 JspFactory error Default ThumbnailHudson, l'intégration continue certifiée Bio Default ThumbnailListe des logiciels testés sur le Touilleur Express

Derniers articles

  • L’instant T où tu poses ta dém…

    Retour d’expérience sur la démission et le moment où vous devez quitter une entreprise.

    6 likes

    24 octobre, 2024
  • The « Robinson » projection – comprendre son système d’information

    Nous sommes en juillet 2022 chez Doctolib. Je travaille sur un projet

    5 likes

    22 octobre, 2024
  • Réussir son démarrage comme Staff/Principal Engineer dans une nouvelle entreprise

    Je prépare une présentation avec mon collègue Théotime pour la conférence Cloud

    3 likes

    6 octobre, 2024

Mots clés

Apple (32) Architecture (14) Big Data (5) Conference (8) Devoxx (55) Dev Web (37) Doctolib (2) geekevent (1) groovy (2) Innoteria (11) Java (517) Linux (10) Non classé (15) Perso (266) Recrutement (2) Scala (30) scrum (43) Société (3) Staff Engineer (5) Startup (21) Web 2.0 (67)

Le Touilleur Express

Blog par Nicolas Martignole

Contactez-moi : nicolas@touilleur-express.fr

Suivez-moi sur X (Twitter) : @nmartignole

Copyright© 2008 - 2024 Nicolas Martignole | Tous droits réservés
  • A propos de l’auteur
  • A propos du Touilleur Express
  • Reset Password

Le Touilleur Express