Précédent   Forum des professionnels en informatique > Général Développement > Conception > Usine Logicielle > Intégration Continue
Intégration Continue Forum d'entraide sur les outils d'intégration continue (Continuum, CruiseControl, Hudson, TeamCity, etc.)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/06/2011, 15h46   #1
Membre habitué
 
Avatar de PoichOU
 
Homme PoichOU
Étudiant
Inscription : juillet 2006
Messages : 296
Détails du profil
Informations personnelles :
Nom : Homme PoichOU
Âge : 24
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : Associations - ONG

Informations forums :
Inscription : juillet 2006
Messages : 296
Points : 114
Points : 114
Par défaut recherche de docs et d'infos

Bonjour,

Je m'intéresse depuis quelques temps à l'Intégration Continue et je me pose pas mal de questions sur le sujet :


Où puis-je trouver de la doc sur le sujet et plus particulièrement sur les outils ?
Je n’ai pas vraiment trouvé de doc sur la mise en place d’un outil d’intégration continue. J’ai lu quelques tutos d’initiation, mais lorsque je cherche des informations plus complètes je ne trouve pas. Savez-vous s’il existe des livres ou des communautés actives sur le sujet (des trucs français si possible) ? il y a bien les sites officiels (hudson ou jenkins par exemple) mais rien en français.


Quel outil choisir ?
J’ai lu différents articles sur internet et mon choix s’est arrêté sur Hudson … enfin Jenkins … enfin non Hudson … Il y a une espèce de guerre entre Hudson et son fork Jenkins et le pauvre développeur que je suis se retrouve coincé entre les 2. Je ne sais pas vraiment lequel choisir. Qu’en pensez-vous ? Lequel est susceptible d’avoir le plus de doc et ?


Quels sont les plugins intéressants et comment les configurer ?
J’ai vu qu’il existait plus d’une soixantaine de plugins pour Hudson par exemple comment savoir ceux qui valent le coup ?
Par exemple je voudrais pouvoir faire du reporting ou avoir des infos sur la qualité du code … faut-il installer des plugins pour ça ?
J’ai lu quelques part qu’il existait un plugin « sonar » pour hudson mais comment fonctionne-t-il exactement je ne sais pas et je ne sais pas où trouver l’info. Quelqu’un aurait une idée ?


Bref vous l’aurez compris je suis un peu perdu et du coup je suis venu dans la section dédiée sur le forum mais je trouve qu’il manque un post annoté qui donne des pistes permettant de rentrer dans le vif du sujet.

PoichOU
PoichOU est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2011, 16h58   #2
Rédacteur/Modérateur
 
Avatar de romaintaz
 
Homme Romain Linsolas
Java craftsman
Inscription : juillet 2005
Messages : 3 420
Détails du profil
Informations personnelles :
Nom : Homme Romain Linsolas
Âge : 33
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Java craftsman
Secteur : Finance

Informations forums :
Inscription : juillet 2005
Messages : 3 420
Points : 5 398
Points : 5 398
Citation:
Envoyé par PoichOU Voir le message
Bonjour,
Bonjour !

Citation:
Envoyé par PoichOU Voir le message
Je m'intéresse depuis quelques temps à l'Intégration Continue et je me pose pas mal de questions sur le sujet :
C'est une très bonne chose de s'y intéresser !

Citation:
Envoyé par PoichOU Voir le message
Où puis-je trouver de la doc sur le sujet et plus particulièrement sur les outils ?
Je n’ai pas vraiment trouvé de doc sur la mise en place d’un outil d’intégration continue. J’ai lu quelques tutos d’initiation, mais lorsque je cherche des informations plus complètes je ne trouve pas. Savez-vous s’il existe des livres ou des communautés actives sur le sujet (des trucs français si possible) ? il y a bien les sites officiels (hudson ou jenkins par exemple) mais rien en français.
Je me permet de faire une grosse pub sur l'article que j'avais publié voilà quelques années (déjà !) sur Hudson. Tu peux voir le lien dans ma signature.
J'y fais une introduction somme toute un peu légère sur le principe de l'I.C. mais les bases sont là.
Quant à Hudson lui même (ou Jenkins), mon article parle de la version 1.200 (on a passé les 1.400 sur Jenkins !!) mais finalement assez peu de choses ont changé dans les principes, ce sont surtout des améliorations diverses, des options nouvelles, etc. qui ont changé. Bref, tu ne devrais pas être trop perdu !

Citation:
Envoyé par PoichOU Voir le message
Quel outil choisir ?
J’ai lu différents articles sur internet et mon choix s’est arrêté sur Hudson … enfin Jenkins … enfin non Hudson … Il y a une espèce de guerre entre Hudson et son fork Jenkins et le pauvre développeur que je suis se retrouve coincé entre les 2. Je ne sais pas vraiment lequel choisir. Qu’en pensez-vous ? Lequel est susceptible d’avoir le plus de doc et ?
Tu m'aurais posé la question il y a quelques semaines, j'aurais répondu Jenkins en hésitant légèrement. Mon hésitation a désormais disparu. Jenkins, c'est Hudson tel qu'il était avant Oracle, avec toute la communauté autour.
Hudson, pris par Oracle puis Sonatype, avait une certaine logique, fournir une IC d'entreprise, avec un support pro derrière (dans le bon et le mauvais sens du terme cela dit), embarquer dans un écosystème complet (grâce à Sonatype donc avec Nexus, Maven...).
Mais voilà, le fait d'avoir donné Hudson à la fondation Eclipse me fait penser que c'en est fini de ce projet. A mon avis, la lourdeur de la fondation d'Eclipse ne va pas accélérer les développements, et de toutes façons, Oracle a vidé Hudson de toute sa communauté, qui est restée fidèle à Kohsuke (le "papa" d'Hudson, et maintenant de Jenkins).
Bref, fonce sur Jenkins !

Citation:
Envoyé par PoichOU Voir le message
Quels sont les plugins intéressants et comment les configurer ?
J’ai vu qu’il existait plus d’une soixantaine de plugins pour Hudson par exemple comment savoir ceux qui valent le coup ?
Par exemple je voudrais pouvoir faire du reporting ou avoir des infos sur la qualité du code … faut-il installer des plugins pour ça ?
J’ai lu quelques part qu’il existait un plugin « sonar » pour hudson mais comment fonctionne-t-il exactement je ne sais pas et je ne sais pas où trouver l’info. Quelqu’un aurait une idée ?
Une 60aine de plugins ??? Je pense qu'il faut multiplier ça par 3 ou 4
Bon, déjà, tu as les plugins nécessaires à ton usine logicielle. Par exemple, si tu as un gestionnaire de sources autre que CVS ou SVN.
Après, tu as des plugins spécifiques pour afficher des informations plus ou moins différentes dans tes vues, des dashboards, etc.
Tu as aussi plein de plugins de reporting (Cobertura, etc.).
Tu as également des plugins gadgets.

A titre indicatif, voilà ma liste de plugins installés sur mon instance de Jenkins (attention, certains sont là d'office, comme par ex. CVS plugin) :

  • Static Code Analysis Plug-ins
  • Jenkins build timeout plugin
  • Jenkins Continuous Integration game
  • Compact Columns
  • Console Column Plugin
  • CVS Plugin
  • Dashboard View
  • Disk Usage Plugin
  • Jenkins Email Extension Plugin
  • Hudson global-build-stats plugin
  • Green Balls
  • Maven 2 Project Plugin
  • Hudson Quality Center Plug-in
  • Radiator View Plugin
  • Hudson Support Subscription Notification Plugin
  • Hudson Sonar Plugin
  • SSH Slaves plugin
  • Subversion Plugin
  • Task Scanner Plugin
Comme tu peux le voir, j'ai très peu de reporting sur Jenkins, je laisse ça à Sonar. Le plugin Sonar Jenkins ne fait pas grand pas grand chose, si ce n'est qu'il permet en cochant une case de dire qu'il faut que Sonar lance une analyse sur le job courant. Je ne l'utilise pas, je préfère l'indiquer directement dans ma commande Maven.

Je me refais de la pub, mais tu as un lien dans ma signature vers un guide de Sonar. Il est certes plus récent que le guide Hudson, mais il y a eu beaucoup d'évolutions sur cet outil depuis.

Citation:
Envoyé par PoichOU Voir le message
Bref vous l’aurez compris je suis un peu perdu et du coup je suis venu dans la section dédiée sur le forum mais je trouve qu’il manque un post annoté qui donne des pistes permettant de rentrer dans le vif du sujet.

PoichOU
Oui, c'est pas faux. J'ai prévu de remettre un coup de nettoyage dans mes articles Hudson et peut être Sonar cet été

Voilà, je pense t'avoir donné quelques pistes déjà, mais surtout n'hésite pas à poser plus de questions.
__________________
Nous sommes tous semblables, alors acceptons nos différences !
--------------------------------------------------------------
Mes liens : Blog | Page DVP | Suivez-moi sur Twitter
Mes articles : Hudson | Sonar | Outils de builds Java Maven 3 | TeamCity| CitConf 2009
Mes critiques : Apache Maven
romaintaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2011, 14h00   #3
Membre habitué
 
Avatar de PoichOU
 
Homme PoichOU
Étudiant
Inscription : juillet 2006
Messages : 296
Détails du profil
Informations personnelles :
Nom : Homme PoichOU
Âge : 24
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : Associations - ONG

Informations forums :
Inscription : juillet 2006
Messages : 296
Points : 114
Points : 114
Bonjour Romain et merci de ta réponse,

Citation:
Envoyé par romaintaz Voir le message
Je me permet de faire une grosse pub sur l'article que j'avais publié voilà quelques années (déjà !) sur Hudson. Tu peux voir le lien dans ma signature.
J'y fais une introduction somme toute un peu légère sur le principe de l'I.C. mais les bases sont là.
Quant à Hudson lui même (ou Jenkins), mon article parle de la version 1.200 (on a passé les 1.400 sur Jenkins !!) mais finalement assez peu de choses ont changé dans les principes, ce sont surtout des améliorations diverses, des options nouvelles, etc. qui ont changé. Bref, tu ne devrais pas être trop perdu !
Ah c'est le tien ? Oui j'ai lu ton article justement. Je le trouve très bien car il m'a permis de faire l'install et mes premiers builds .
Par contre 2 choses m'embêtent un peu :
1 - il date de 2008 et moi j'ai pensé que beaucoup de chose avait changé depuis (j'ai installé la version 2.01 d'Hudson). C'es vraiment pas le cas ?
2 - c'est malheureusement un des rares articles (ou tuto) que j'ai trouvé sur le sujet et c'est une initiation pour nous mettre l'eau à la bouche. Une fois qu'on y prend goût on fait quoi ? Existe-t-il des choses plus complètes pour ceux qui veulent pousser plus loin (tuto ou bouquin) ?


Citation:
Envoyé par romaintaz Voir le message
Tu m'aurais posé la question il y a quelques semaines, j'aurais répondu Jenkins en hésitant légèrement. Mon hésitation a désormais disparu. Jenkins, c'est Hudson tel qu'il était avant Oracle, avec toute la communauté autour.
Hudson, pris par Oracle puis Sonatype, avait une certaine logique, fournir une IC d'entreprise, avec un support pro derrière (dans le bon et le mauvais sens du terme cela dit), embarquer dans un écosystème complet (grâce à Sonatype donc avec Nexus, Maven...).
Mais voilà, le fait d'avoir donné Hudson à la fondation Eclipse me fait penser que c'en est fini de ce projet. A mon avis, la lourdeur de la fondation d'Eclipse ne va pas accélérer les développements, et de toutes façons, Oracle a vidé Hudson de toute sa communauté, qui est restée fidèle à Kohsuke (le "papa" d'Hudson, et maintenant de Jenkins).
Bref, fonce sur Jenkins !
Bah quand je lis des news sur le sujet la tendance et plutôt Jenkins effectivement mais si je repose la question dans quelques semaines encore ça pourrait changer ...
De toute façon je me dis que les 2 se ressemblent quand même énormément et donc si j'en apprend un alors je n'aurai pas de mal à passer sur l'autre.


Citation:
Envoyé par romaintaz Voir le message
Une 60aine de plugins ??? Je pense qu'il faut multiplier ça par 3 ou 4
Bon, déjà, tu as les plugins nécessaires à ton usine logicielle. Par exemple, si tu as un gestionnaire de sources autre que CVS ou SVN.
Après, tu as des plugins spécifiques pour afficher des informations plus ou moins différentes dans tes vues, des dashboards, etc.
Tu as aussi plein de plugins de reporting (Cobertura, etc.).
Tu as également des plugins gadgets.
L'Intégration Continue, Hudson, les centaines de plugins existent depuis quelques temps j'imagine... Du coup certains plugins devraient ressortir du lot. Est ce que tu sais s'il existe des comparatifs ? des tutos spécifiques ?
Globalement je fais quoi je parcours la liste des plugins et j'installe ceux qui me paraissent intéressant, puis je fouille sur google pour choper 2/3 infos sur la conf ? ou alors il y a un moyen plus simple ? Tu as fais comment toi pour choisir ces plugins ?


Citation:
Envoyé par romaintaz Voir le message
Je me refais de la pub, mais tu as un lien dans ma signature vers un guide de Sonar. Il est certes plus récent que le guide Hudson, mais il y a eu beaucoup d'évolutions sur cet outil depuis.
Je n'ai pas encore lu cet article mais Sonar à l'air vraiment top (mais il a l'air plus "compliqué" à prendre en main qu'Hudson) ! Je vais probablement l'installer rapidement (grace au tuto), je te dirais ce que j'en pense.


Citation:
Envoyé par romaintaz Voir le message
Oui, c'est pas faux. J'ai prévu de remettre un coup de nettoyage dans mes articles Hudson et peut être Sonar cet été.
Très bonne idée.


Citation:
Envoyé par romaintaz Voir le message
Voilà, je pense t'avoir donné quelques pistes déjà, mais surtout n'hésite pas à poser plus de questions.
Merci et j'hésiterai pas


Comme t'as pu t'en rendre compte, ma grosse interrogation sur le sujet c'est la doc et les infos que je peux trouver. Avant de mettre en place une intégration continue (un truc sérieux, de qualité) je voudrais savoir si ça va être long et potentiellement compliqué (en gros googliser, fouiller, tester, debugger, etc.) ou alors simple et rapide (genre suivre un tuto).


Merci
PoichOU
PoichOU est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2011, 14h30   #4
Rédacteur/Modérateur
 
Avatar de romaintaz
 
Homme Romain Linsolas
Java craftsman
Inscription : juillet 2005
Messages : 3 420
Détails du profil
Informations personnelles :
Nom : Homme Romain Linsolas
Âge : 33
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Java craftsman
Secteur : Finance

Informations forums :
Inscription : juillet 2005
Messages : 3 420
Points : 5 398
Points : 5 398
Citation:
Envoyé par PoichOU Voir le message
Ah c'est le tien ? Oui j'ai lu ton article justement. Je le trouve très bien car il m'a permis de faire l'install et mes premiers builds .
C'est le but justement

Citation:
Envoyé par PoichOU Voir le message
Par contre 2 choses m'embêtent un peu :
1 - il date de 2008 et moi j'ai pensé que beaucoup de chose avait changé depuis (j'ai installé la version 2.01 d'Hudson). C'es vraiment pas le cas ?
2 - c'est malheureusement un des rares articles (ou tuto) que j'ai trouvé sur le sujet et c'est une initiation pour nous mettre l'eau à la bouche. Une fois qu'on y prend goût on fait quoi ? Existe-t-il des choses plus complètes pour ceux qui veulent pousser plus loin (tuto ou bouquin) ?
Alors :

1. Comme je l'ai dit précédemment, concernant les bases, les choses ont assez peu évolué. Il y a bien entendu pas mal de petites options (parfois fort utiles) qui sont apparues, mais dans l'ensemble, mon guide permet de se lancer sur Hudson/Jenkins sans souci.

2. Au niveau doc francophones, c'est possible en effet. Ou en tout cas des docs complètes. Sans doute un point de plus pour une MàJ de mon guide Mais quand tu dis "aller plus loin", tu entends quoi ? La configuration avancée de l'outil ? L'utilisation des plugins ? Le développement des plugins ? Des utilisations avancées de l'I.C. (processus de release, de déploiements, jobs plus spécifiques que du "simple" build ?)
Dans ma MàJ j'essaierais de parler un peu plus des plugins, mais sans forcément rentrer trop dans les détails. Peut-être une liste de mes "top 10"...

Citation:
Envoyé par PoichOU Voir le message
Bah quand je lis des news sur le sujet la tendance et plutôt Jenkins effectivement mais si je repose la question dans quelques semaines encore ça pourrait changer ...
De toute façon je me dis que les 2 se ressemblent quand même énormément et donc si j'en apprend un alors je n'aurai pas de mal à passer sur l'autre.
Ils se ressemblent parce que le divorce est encore frais. Mais je suis plutôt pessimiste sur l'évolution d'Hudson sur le moyen terme, et je pense que Jenkins aura eu pas mal d'évolutions d'ici-là... D'où mon attachement à Jenkins plutôt qu'à me poser encore des questions...

Citation:
Envoyé par PoichOU Voir le message
L'Intégration Continue, Hudson, les centaines de plugins existent depuis quelques temps j'imagine... Du coup certains plugins devraient ressortir du lot. Est ce que tu sais s'il existe des comparatifs ? des tutos spécifiques ?
Globalement je fais quoi je parcours la liste des plugins et j'installe ceux qui me paraissent intéressant, puis je fouille sur google pour choper 2/3 infos sur la conf ? ou alors il y a un moyen plus simple ? Tu as fais comment toi pour choisir ces plugins ?
Une règle d'or : "Make it work".
Autrement dit, monte toi d'abord une IC qui marche, et qui fait son job. Pour ça, tu auras besoin de très peu de plugins.
Ensuite, quand tu te sera un peu fait la main, ajoute des plugins selon tes besoins. Par exemple un besoin de reporting => un plugin. Tu peux aussi jeter un oeil de temps en temps sur les plugins de visualisation, pour avoir plus de liberté sur les informations que tu souhaites afficher sur tes jobs.

Comme dit précédemment, je n'ai pas sur mon Jenkins une pléthore de plugins, juste ce dont j'ai besoin...

Citation:
Envoyé par PoichOU Voir le message
Je n'ai pas encore lu cet article mais Sonar à l'air vraiment top (mais il a l'air plus "compliqué" à prendre en main qu'Hudson) ! Je vais probablement l'installer rapidement (grace au tuto), je te dirais ce que j'en pense.
Le mettre en place n'est pas compliqué. Apprendre à naviguer dans l'interface de Sonar non plus. Ce qui est compliqué, c'est :
1. Définir les bonnes règles de codage (PMD, Checkstyle, FindBugs, etc.) pour son (ses) projet(s);
2. Savoir tirer profit et leçon de tous ces chiffres. Car justement, ce ne sont que des chiffres, et il faut se méfier des interprétations trop faciles. Un exemple tout bête : un code couvert à 100% ne signifie en aucun cas qu'il est exempt de bug!!

Là encore, c'est un outil très important, mais qu'il faut apprendre à maitriser avec le temps...

Citation:
Envoyé par PoichOU Voir le message
Comme t'as pu t'en rendre compte, ma grosse interrogation sur le sujet c'est la doc et les infos que je peux trouver. Avant de mettre en place une intégration continue (un truc sérieux, de qualité) je voudrais savoir si ça va être long et potentiellement compliqué (en gros googliser, fouiller, tester, debugger, etc.) ou alors simple et rapide (genre suivre un tuto).
Pour faire simple : avoir une I.C. qui marche, c'est simple. Et extrêment précieux. Mais en tirer tout le potentiel est long et fastidieux, et l'expérience vaut énormément.

Je finirais juste par dire une chose très importante aussi : l'intégration continue n'est pas qu'une question d'outils. Ce sont aussi des pratiques quotidiennes. Par exemple, commiter souvent, tester au maximum (le développement piloté par les tests - TDD - est à privilégier), etc. sont des principes de l'IC.
__________________
Nous sommes tous semblables, alors acceptons nos différences !
--------------------------------------------------------------
Mes liens : Blog | Page DVP | Suivez-moi sur Twitter
Mes articles : Hudson | Sonar | Outils de builds Java Maven 3 | TeamCity| CitConf 2009
Mes critiques : Apache Maven
romaintaz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h58.


 
 
 
 
Partenaires

Hébergement Web