The Coder's Breakfast - Mot-clé - sonar - Commentaires2022-11-22T14:44:11+01:00Olivier Croisierurn:md5:7bccc57fa40daaa0bbb47c16f3d66529DotclearIndustrialisation d'un projet "legacy" (2/2) - Olivier Croisierurn:md5:5e6fdb5fcbefe961c57127962309877a2011-08-30T14:30:47+01:002011-08-30T13:31:10+01:00Olivier Croisier<p>@jcsirot Merci pour le tip, effectivement ça marche avec Checkstyle, mais pas avec PMD (et je n'ai pas testé avec Findbugs).</p>Industrialisation d'un projet "legacy" (2/2) - Jean-Christophe Siroturn:md5:d3a69471094425df02ee29704112d5de2011-08-29T13:59:18+01:002011-08-30T12:03:08+01:00Jean-Christophe Sirot<p>> Sauf que... celles exposées par Sonar comportent des symboles que Maven n'accepte pas,<br />
> notamment les "?" et "&". C'était trop simple</p>
<p>Par curiosité j'ai fait le test sur mon infrastructure (maven 2.2.1 avec le plugin maven checkstyle 2.6) et en entourant l'URL dans la base <configLocation/> avec un bon vieux <!<a href="http://thecodersbreakfast.net/index.php?post/CDATA[ ..." title="CDATA[ ..." rel="nofollow">CDATA[ ...</a>]> ça passe très bien.</p>Industrialisation d'un projet "legacy" (2/2) - kris78urn:md5:f5f3f701e36a33a7611f536da92d66c72011-08-08T13:32:52+01:002011-08-08T15:38:22+01:00kris78<p>C'est vrai que Sonar est pas mal pour avoir une vue synthétique des projets : nombre de lignes de codes (représentatif de la taille du projet), nom de classe, pourcentage de lignes de codes copiés ^_^.<br />
J'utilise le plugin FindBugs. Il ajoute des règles "Findbugs" en plus de celle de Sonar. Il suffit juste les choisir en mode admin. Ce qui est pal mal aussi mais prend beaucoup plus de temps, c'est de paramétrer les règles dont certaines me paraissent peu utiles...<br />
Par contre, tu ne parles pas de l'aspect configuration de la base de données utilisées par Sonar.<br />
Par défaut, c'est un Apache Derby(enfin à l'époque). J'ai remarqué utilisant un MySQL, Sonar avait un peu moins de mal après un certain nombre d'analyses.<br />
Son coté 'historisation' peut aussi intéressé les développeurs. On voit entre les différentes analyses si on a fait mieux ou moins bien ^_^.<br />
Enfin, je ne sais pas si c'est valable pour toi, mais qu'en j'utilisais Hudson, je n'avais pas mes défauts d'affichage sous IE8 que j'ai maintenant avec Jenkins :-S<br />
Dommage aussi qu'il n'ait toujours pas rajouter le lien qui permet de changer d'utilisateur SVN :-P<br />
Pour info :<a href="http://thecodersbreakfast.net/index.php?post/http://ton_host:port/jenkins/scm/SubversionSCM/enterCredential" title="http://ton_host:port/jenkins/scm/SubversionSCM/enterCredential" rel="nofollow">http://ton_host:port/jenkins/scm/Su...</a><br />
Encore un dernier détail, une journée suffit quand on a la bonne infrastructure ^_^.<br />
Souvent j'ai du installé ce genre de plateforme sur une machine du réseau mais sans accès internet :'( . Après, il faut aussi un compte SVN dédié. Si ça utilise un compte avec un mot de passe qui change, bonjour le build failed quand le celui-ci change :-P<br />
Enfin, sous Jenkins ou Hudson, il faut aussi configurer les comptes utilisateurs pour que tout le monde (qui accède à la console) ne puissent lancer des builds manuels ^_^<br />
En tout cas ce sont de super outils ^_^ (Big Fan)</p>Industrialisation d'un projet "legacy" (2/2) - Grégory Boissinoturn:md5:8f22ae0e40d1cbdcdbb728f9a435f03d2011-08-05T01:36:38+01:002011-08-05T13:10:24+01:00Grégory Boissinot<p>Le fait que les membres de l’équipe projet ne vont pas regarder les rapports Sonar ne m’étonne pas du tout. Contrairement à Jenkins qui est dédié aux développeurs, Sonar est avant tout dédié aux chefs de projet et aux managers. Son but premier est d’avoir une tendance de l’évolution des métriques dans le temps (par exemple par semaine, par mois, par date de livraison, …). Ce n’est donc pas un outil au quotidien des développeurs pour le suivi du commit d’intégration continue.<br />
Des éléments dans Sonar comme la possibilité de configurer les règles ou leur systèmes d’alertes peuvent faire penser le contraire mais ce n’est que utopie car nous somme vite limités. La raison première est que Sonar n’a pas la main sur le checkout du code source et sur l’infrastructure cible. Ainsi il ne devrait pas avoir la main sur le run de la qualimétrie (souvent trop complexe et qui doit être réservé à des outils tiers).<br />
C’est pourquoi, utiliser Sonar comme référentiel des règles est hautement discutable.<br />
De mon point de vue, l’intérêt de Sonar est son collecteur et la fusion de résultats de métriques par typologie.</p>Industrialisation d'un projet "legacy" (2/2) - Olivier Croisierurn:md5:b81ea23aca22f8d305fe810697feec522011-08-03T13:27:23+01:002011-08-03T12:32:53+01:00Olivier Croisier<p>Idéalement oui, mais je n'ai ni le temps ni les compétences pour ouvrir les entrailles de Maven et tenter de corriger ce "bug" (entre guillemets, car je ne sais pas s'il s'agit vraiment d'un bug ou s'il existe un solution alternative).<br />
Et puis, comme indiqué dans le billet, quand on n'a pas d'Apache sous la main, on peut toujours utiliser le filtre UrlRewriteFilter, déployé par exemple à côté de Jenkins. La solution de contournement est donc assez simple.</p>Industrialisation d'un projet "legacy" (2/2) - Jeanurn:md5:8824c037be5768495d3b92f1c84847902011-08-03T12:12:07+01:002011-08-03T12:02:20+01:00Jean<p>Hmm, pourquoi utiliser apache et mod_rewrite ? Si maven "n'accepte" pas les ? et les & dans les urls c'est qu'il ne gère pas correctment les URLs. Le problème est plus probablement dans un des plugins que dans maven même non ? il devrait suffire de corriger le plugin non ?</p>
<p>Corriger le plugin aurait eu l'avantage d'éviter a tout ceux qui ont le même problème et qui ne peuvent pas (ou disons difficilement, tout est toujours possible juste parfois extrêmement compliqué) utiliser un frontal apache avec mod_rewrite (parcequ'ils ne sont pas dans la cellule d'architecture du SI qui va bien dans la Grosse Boite (tm) dans laquelle ils bossent :) ) ...</p>