Le Touilleur ExpressLe Touilleur ExpressLe Touilleur ExpressLe Touilleur Express
  • Accueil
  • A propos de l’auteur
  • A propos du Touilleur Express

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

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

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

    Par Nicolas Martignole | Java | Commentaires fermés | 1 février, 2006 | 0 | 955 affichages
         

    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
    

    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
    No tags.

    Recent Posts

    • GitHub Actions : le tueur de Jenkins ?

      Avouez-le : ce titre de blog est super racoleur. J’avais aussi pensé

      15 février, 2021
    • Comment recréer du lien social dans l’Entreprise avec des outils numériques en 2021

      Nous sommes en février 2021 pendant le 3ème confinement lié à la

      10 février, 2021
    • FizzBuzz en Java et Scala (surtout Scala)

      L’exercice FizzBuzz est un petit exercice très simple, à tester par exemple

      9 février, 2021

    Recent Tweets

    •  @steeve  Excellente idée 😎👍🏻

      45 minutes ago
    • RT  @steeve : Si tu as déjà effacé une DB en prod, testé des règles iptables via ssh ou passé un crash loop sur une app iOS, viens nous racon…

      45 minutes ago
    • J'ai refais/modernisé l'authentification OAuth2 pour Google, Github et LinkedIn sur le CFP de Devoxx FR.

      4 hours ago
    •  @LostInBrittany   @FGRibreau   @aheritier  😎

      23 hours ago
    •  @LostInBrittany   @FGRibreau   @aheritier  J ai un souci GitHub demain à corriger aussi avec oauth2

      23 hours ago

    Mots clés

    agile (18) ajax (11) Apple (11) architecture (6) barcamp (5) BarCampJavaParis (5) ddd (5) devoxx (33) esb (6) exo (6) flex (9) geek (5) google (11) grails (5) groovy (10) humeur (12) humour (7) independant (6) iphone (12) Java (77) javascript (7) jazoon (28) jboss (22) jboss seam (12) jsf (9) jug (16) Linux (11) mac (6) mule (5) parisjug (7) paris jug (22) pjug (6) play (8) playframework (6) portlet (5) recrutement (6) ria (8) Scala (21) scrum (44) spring (23) Startup (11) usi (21) usi2010 (9) web (16) xebia (7)

    Le Touilleur Express

    Contactez-moi : nicolas@touilleur-express.fr

    Suivez-moi sur Twitter : @nmartignole

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