Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Vagrant 101

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Bob Maerten Bob Maerten
February 19, 2013

Vagrant 101

Virtualisation et provisionnement pour le développement.
Présenté à l'apéro ruby Lille le 19/02/2013.

Avatar for Bob Maerten

Bob Maerten

February 19, 2013
Tweet

More Decks by Bob Maerten

Other Decks in Technology

Transcript

  1. $ WHO AM I Sysadmin dans la fonction publique dev-wannabe...

    @bobmaerten http://bobmaerten.github.com
  2. CAS D'UTILISATION 1 “Ah, si je pouvais bosser en local

    sur la même config qu'en staging...”
  3. CAS D'UTILISATION 2 “J'dois debug c'te vieille app rails 2.1,

    mais j'ai pas envie de pourrir ma config”
  4. CAS D'UTILISATION 3 etc. “Ce serait top si je pouvais

    tester m[a|on] gem sur une palanquée de systèmes exotiques...”
  5. VAGRANT À LA RESCOUSSE Virtualisation à la demande Pilotage de

    VMs via une API Systèmes pré-packagés Provisionnement scriptable Des tonnes de scripts de provisionnement dispo
  6. INSTALLATION $ s u d o a p t i

    t u d e i n s t a l l v i r t u a l b o x - o s e r u b y - 1 . 9 . 1 # p r e - r e q s f o r D e b i a n / U b u n t u $ g e m i n s t a l l v a g r a n t $ v a g r a n t i n i t [ b a s e b o x ] [ b a s e b o x _ u r l ] $ v a g r a n t u p
  7. VAGRANTFILE Fichier minimal V a g r a n t

    : : C o n f i g . r u n d o | c o n f i g | c o n f i g . v m . b o x = " p r e c i s e 6 4 " e n d
  8. VAGRANTFILE Paramétrage VM V a g r a n t

    : : C o n f i g . r u n d o | c o n f i g | c o n f i g . v m . b o x = " p r e c i s e 6 4 " c o n f i g . v m . n e t w o r k : h o s t o n l y , " 3 3 . 3 3 . 3 3 . 1 0 " c o n f i g . v m . f o r w a r d _ p o r t 3 0 0 0 , 3 0 3 0 c o n f i g . v m . c u s t o m i z e [ " m o d i f y v m " , : i d , " - - m e m o r y " , " 5 1 2 " , " - - c p u s " , " 2 " ] e n d
  9. VAGRANTFILE Multiboxing V a g r a n t :

    : C o n f i g . r u n d o | c o n f i g | c o n f i g . v m . b o x = " p r e c i s e 6 4 " c o n f i g . v m . d e f i n e : w e b d o | w e b _ c o n f i g | w e b _ c o n f i g . v m . b o x = " w e b " w e b _ c o n f i g . v m . f o r w a r d _ p o r t " h t t p " , 8 0 , 1 0 8 0 e n d c o n f i g . v m . d e f i n e : m y s q l d o | d b _ c o n f i g | d b _ c o n f i g . v m . b o x = " m y s q l " d b _ c o n f i g . v m . f o r w a r d _ p o r t " d b " , 3 3 0 6 , 1 3 3 0 6 e n d e n d
  10. VAGRANTFILE Script de provisionnement V a g r a n

    t : : C o n f i g . r u n d o | c o n f i g | c o n f i g . v m . b o x = " p r e c i s e 6 4 " c o n f i g . v m . p r o v i s i o n : s h e l l , : p a t h = > ' / v a g r a n t / i n s t a l l _ s i t e . s h ' c o n f i g . v m . p r o v i s i o n : s h e l l , : i n l i n e = > ' s e r v i c e n g i n x r e l o a d ' e n d
  11. VAGRANTFILE Provisionnement avec Chef V a g r a n

    t : : C o n f i g . r u n d o | c o n f i g | c o n f i g . v m . b o x = " p r e c i s e 6 4 " c o n f i g . v m . p r o v i s i o n : c h e f _ s o l o d o | c h e f | c h e f . c o o k b o o k s _ p a t h = ' . / c o o k b o o k s ' c h e f . a d d _ r e c i p e ' m y s q l ' # S e e l i b r a r i a n g e m t o f e t c h c o o k b o o k s c h e f . j s o n = { : m y s q l _ p a s s w o r d = > ' ' } e n d e n d
  12. VAGRANTFILE Provisionnement avec Puppet etc. V a g r a

    n t : : C o n f i g . r u n d o | c o n f i g | c o n f i g . v m . b o x = " p r e c i s e 6 4 " c o n f i g . v m . p r o v i s i o n : p u p p e t d o | p u p p e t | p u p p e t . m a n i f e s t s _ p a t h = " . / m a n i f e s t s " p u p p e t . m a n i f e s t _ f i l e = " b a s e . p p " e n d e n d
  13. DÉMO Des volontaires pour tester sur OSX ? Voir sur

    Shelr.tv https://github.com/bobmaerten/vagrant-rails-server/
  14. RESSOURCES Quelques boxes disponibles Créer ses propres boxes Quelques plugins

    pour vagrant , , ... http://vagrantbox.es https://github.com/jedi4ever/veewee Sahara Snap Hostmaster
  15. AU DELÀ DE LA VIRTUALISATION DESKTOP Vagrant 1.1 Patrick Debois's

    McCloud Hashicorp AWS Vagrant Provider https://github.com/jedi4ever/mccloud