La gestion de configuration qui vous
            veut du bien.
David Gageot

   CTO Algodeal.com
«The Crowd Sourced Quant
      Hedge Fund»

        @dgageot
      javabien.net
Nous allons parler de...

                    Gestion de
                   configuration
Gain de temps
                   ...
...Mais aussi de

               Bottes de Foin

  Cinéma
                                Addiction


 Sandwich
au fromage...
Ca vous va ?




    Photo: http://www.flickr.com/photos/91082225@N00/3271601712
Avant d’aller plus loin...
  J’ai un aveux à faire.
Je suis accro aux outils.




            Photo: http://www.flickr.com/...
Manifesto for Agile Software Development
Git me fait gagner du temps.
 Moins de portes fermées.
   Moins de frictions.
 Un peu de Magie parfois.




              ...
Attention à la Magie !




                         Photo: http://www.cartoonstock.com/lowres/iba0399l.jpg
Git en un slide.




  Rapide                         Simple
 Distribué                      Complexe
Déconnecté          ...
La concurrence en un slide.
Pas de temps à perdre ?
Commençons par une
démo de git en action.




           Photo: http://www.flickr.com/photos/zouted...
mvn eclipse:eclipse
ne fonctionne plus !
  Depuis quand ?
   Quel commit a
   cassé le build ?




 Photo: http://malconte...
Première approche :
 On pourrait tester
 tous les commits
 depuis le dernier.




        Photo: http://www.flickr.com/phot...
Dichotomie :

La dichotomie (« couper en deux » en grec)
est, en algorithmique, un processus itératif ou
récursif de reche...
A la main, c’est quand même long.




                      Photo: http://www.wallfizz.com/nature/plaine-et-prairie/2714-bo...
Git bisect en action.
      (démo)




            Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/
Partageons quelques
     tours de magie :
      « La gestion de
configuration sans serveur »
 « Le merge omniscient »
  « L...
Mais avant...
                 Oubliez ce que vous
                savez sur les outils de
               gestion de config...
Pas de retour arrière.




                         Photo: http://www.reconnections.net/redblue_pill.jpg
« La gestion de configuration
        sans serveur »




           Photo: http://www.allocine.fr/film/fichefilm-20588/affiches...
Utilisation personnelle.               Vous
                                   savez presque
                             ...
Utilisation personnelle.


                 Quand ?
Avant d’éditer des fichiers de configuration.
         Pour préparer une...
Partagé.                 Ca y est,
                        vous savez
                          tout !



 Partager un rép...
Partagé.




Partage de sources dans une équipe.
 Pas de notion de maître / esclave.

Chacun peut faire des modifications
 ...
Cercles de confiance.


       Référence
pull




                       Committer
Cercles de confiance.




Mode Open Source : noyaux linux.

      Pas de droits d’accès.

      Pas d’administrateur.

 Mod...
Centralisé.

              Créer un repository
                    central.


                 Publier des
               ...
Centralisé.



           A la Subversion.

Chaque clone connait tout l’historique.

     Travail en mode déconnecté.

   ...
Git Hub.
Comme à la maison.
Git permet de suivre son
    propre workflow.

(au sens noble du terme)




        Photo: http://www.e-...
Dans la vraie vie
vu avec l’outil Gource.
       (démo)




            Photo: http://www.flickr.com/photos/joshwellington/...
«Le merge omniscient»




Photo: http://www.computerweekly.com/PhotoGalleries/235697/944_20_Cerebro-X-Men-Origins-Wolverin...
Faire un merge c’est
       difficile
Frein au refactoring




      Photo: http://img4.southernliving.com/i/2007/01/grille...
Renommer les packages
    com.tech4quant
    en com.algodeal.

Découper un projet maven
    en sous projets.




         ...
Modifier un fichier pendant qu’un
 autre développeur le renomme.




       Casse tête assuré.
Sans code freeze.

Un Build Manager dans
       la salle ?




             Photo: http://flickr.com/photos/8459432@N03/344...
Keep it Stupid Simple.
Pas besoin de plugin.
   Juste mv, vi, rm
«Le build incassable»




Photo: http://4.bp.blogspot.com/_OhGGUzXs2IY/SlcDgkq4riI/AAAAAAAAB3Y/5uoio0yUue8/s1600-h/Affiche+...
Intégration continue ?
Hudson, Cruise Control, Team City ?
Et si le build n’était
   jamais cassé ?
Un petit dessin...




        Partagé

                         Build puis Push

         Sync
Perso             Private ...
Robustesse et gain de temps.



                   On peut travailler
                   pendant le build.

              ...
Cette présentation est loin d’être exhaustive


       add -p              checkout
                                      ...
J’avais promis de parler
        de Yoda !
«Git demain adopter tu
 dois, tiot Padawan»




            Photo: http://netwo...
Pro Git.




http://progit.org/
GitX.
Git-svn.




Passerelle bi-directionnelle
     vers Subversion.

Permet de travailler sous git
tout en publiant dans SVN.
Merci.
Questions / Réponses
David Gageot

   CTO Algodeal.com
«The Crowd Sourced Quant
      Hedge Fund»

        @dgageot
      javabien.net
Git Chti JUG
Git Chti JUG
Upcoming SlideShare
Loading in...5
×

Git Chti JUG

1,634

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,634
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Git Chti JUG

  1. 1. La gestion de configuration qui vous veut du bien.
  2. 2. David Gageot CTO Algodeal.com «The Crowd Sourced Quant Hedge Fund» @dgageot javabien.net
  3. 3. Nous allons parler de... Gestion de configuration Gain de temps Travail en équipe Réactivité Robustesse Souplesse
  4. 4. ...Mais aussi de Bottes de Foin Cinéma Addiction Sandwich au fromage Magie Yoda
  5. 5. Ca vous va ? Photo: http://www.flickr.com/photos/91082225@N00/3271601712
  6. 6. Avant d’aller plus loin... J’ai un aveux à faire. Je suis accro aux outils. Photo: http://www.flickr.com/photos/gregrk/1426969126/sizes/o/
  7. 7. Manifesto for Agile Software Development
  8. 8. Git me fait gagner du temps. Moins de portes fermées. Moins de frictions. Un peu de Magie parfois. Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/
  9. 9. Attention à la Magie ! Photo: http://www.cartoonstock.com/lowres/iba0399l.jpg
  10. 10. Git en un slide. Rapide Simple Distribué Complexe Déconnecté Déroutant Complet En vogue Robuste Addictif
  11. 11. La concurrence en un slide.
  12. 12. Pas de temps à perdre ? Commençons par une démo de git en action. Photo: http://www.flickr.com/photos/zoutedrop/2317065892/
  13. 13. mvn eclipse:eclipse ne fonctionne plus ! Depuis quand ? Quel commit a cassé le build ? Photo: http://malcontenta.blog.lemonde.fr/files/2008/06/chaplin-les-temps-modernes.1212659628.jpg
  14. 14. Première approche : On pourrait tester tous les commits depuis le dernier. Photo: http://www.flickr.com/photos/tarchamps/2835943555/sizes/l/
  15. 15. Dichotomie : La dichotomie (« couper en deux » en grec) est, en algorithmique, un processus itératif ou récursif de recherche où, à chaque étape, on coupe en deux parties (pas forcément égales) un espace de recherche qui devient restreint à l'une de ces deux parties. Wikipedia
  16. 16. A la main, c’est quand même long. Photo: http://www.wallfizz.com/nature/plaine-et-prairie/2714-botte-de-foin-dans-un-champ-WallFizz.jpg
  17. 17. Git bisect en action. (démo) Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/
  18. 18. Partageons quelques tours de magie : « La gestion de configuration sans serveur » « Le merge omniscient » « Le build incassable » Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/
  19. 19. Mais avant... Oubliez ce que vous savez sur les outils de gestion de configuration. Photo: http://www.collider.com/uploads/imageGallery/Men_in_Black/men_in_black_movie_image_tommy_lee_jones_and_will_smith.jpg
  20. 20. Pas de retour arrière. Photo: http://www.reconnections.net/redblue_pill.jpg
  21. 21. « La gestion de configuration sans serveur » Photo: http://www.allocine.fr/film/fichefilm-20588/affiches/detail/?cmediafile=18930405
  22. 22. Utilisation personnelle. Vous savez presque tout ! Mettre un répertoire local en gestion de configuration. Pas de serveur, Pas de service, Pas d’administration.
  23. 23. Utilisation personnelle. Quand ? Avant d’éditer des fichiers de configuration. Pour préparer une démo. Avant de mettre à jour Eclipse. ... Où ? Clef USB, Disque externe, DropBox. Permet de se faire la main sur Git.
  24. 24. Partagé. Ca y est, vous savez tout ! Partager un répertoire sur une machine ou un réseau local. Faire une copie locale de tout l’historique. Pousser/récupérer les modifications.
  25. 25. Partagé. Partage de sources dans une équipe. Pas de notion de maître / esclave. Chacun peut faire des modifications et récupérer celles des autres. Pas d’administrateur.
  26. 26. Cercles de confiance. Référence pull Committer
  27. 27. Cercles de confiance. Mode Open Source : noyaux linux. Pas de droits d’accès. Pas d’administrateur. Modèle pour une grosse équipe.
  28. 28. Centralisé. Créer un repository central. Publier des modifications. Faire une copie locale.
  29. 29. Centralisé. A la Subversion. Chaque clone connait tout l’historique. Travail en mode déconnecté. Backup gratuite. (Encore un administrateur de moins...)
  30. 30. Git Hub.
  31. 31. Comme à la maison. Git permet de suivre son propre workflow. (au sens noble du terme) Photo: http://www.e-cart.biz/stores/vintage-metal-art/images/custom_tailor.gif
  32. 32. Dans la vraie vie vu avec l’outil Gource. (démo) Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/
  33. 33. «Le merge omniscient» Photo: http://www.computerweekly.com/PhotoGalleries/235697/944_20_Cerebro-X-Men-Origins-Wolverine-Gadgets-and-Weapons.JPG
  34. 34. Faire un merge c’est difficile Frein au refactoring Photo: http://img4.southernliving.com/i/2007/01/grilled-cheese/melted-cheese-l.jpg
  35. 35. Renommer les packages com.tech4quant en com.algodeal. Découper un projet maven en sous projets. Photo: http://www.flickr.com/photos/joshwellington/3929748847/sizes/o/
  36. 36. Modifier un fichier pendant qu’un autre développeur le renomme. Casse tête assuré.
  37. 37. Sans code freeze. Un Build Manager dans la salle ? Photo: http://flickr.com/photos/8459432@N03/3446187475
  38. 38. Keep it Stupid Simple. Pas besoin de plugin. Juste mv, vi, rm
  39. 39. «Le build incassable» Photo: http://4.bp.blogspot.com/_OhGGUzXs2IY/SlcDgkq4riI/AAAAAAAAB3Y/5uoio0yUue8/s1600-h/Affiche+1.jpg
  40. 40. Intégration continue ?
  41. 41. Hudson, Cruise Control, Team City ?
  42. 42. Et si le build n’était jamais cassé ?
  43. 43. Un petit dessin... Partagé Build puis Push Sync Perso Private Build
  44. 44. Robustesse et gain de temps. On peut travailler pendant le build. Pas de panne. Build toujours vert -> moins de complexité.
  45. 45. Cette présentation est loin d’être exhaustive add -p checkout revert rebase -i cherry-pick commit hooks diff reset filter-branch stash hooks Branches locales log tig tag git blame instaweb whatchanged clean
  46. 46. J’avais promis de parler de Yoda ! «Git demain adopter tu dois, tiot Padawan» Photo: http://networksecurityip.files.wordpress.com/2007/11/yoda.jpg
  47. 47. Pro Git. http://progit.org/
  48. 48. GitX.
  49. 49. Git-svn. Passerelle bi-directionnelle vers Subversion. Permet de travailler sous git tout en publiant dans SVN.
  50. 50. Merci. Questions / Réponses
  51. 51. David Gageot CTO Algodeal.com «The Crowd Sourced Quant Hedge Fund» @dgageot javabien.net
  1. Gostou de algum slide específico?

    Recortar slides é uma maneira fácil de colecionar informações para acessar mais tarde.

×