Vagrant と Chef でつくるはてなブックマークの開発環境

3f4be9784f765877f444bc839de29888?s=47 aereal
November 25, 2013

Vagrant と Chef でつくるはてなブックマークの開発環境

3f4be9784f765877f444bc839de29888?s=128

aereal

November 25, 2013
Tweet

Transcript

  1. Vagrant ͱ Chef Ͱͭ͘Δ ͸ͯͳϒοΫϚʔΫͷ! ։ൃ؀ڥ id:aereal

  2. ΞδΣϯμ •͸ͯͳϒοΫϚʔΫ։ൃ؀ڥͷ͜Ε·Ͱ •Vagrant + Chef ʹΑΔ࣮ࡍͷӡ༻ͱ՝୊

  3. ࠓ೔͠ͳ͍࿩ •Vagrant ͱ͸? •Chef ͱ͸? •(Carton ͱ͸?)

  4. aereal aereal aereal.org

  5. • αʔόαΠυ (Perl) • ΫϥΠΞϯταΠυ (JavaScript) ! ! • αʔόαΠυ

    (Perl) • ϒϥ΢β֦ு (JavaScript) • ։ൃج൫ͷ੔උ • Jenkins, Plack, etc.
  6. ͸ͯͳϒοΫϚʔΫ • αʔϏε։࢝ (2005೥2݄ʙ) • ϦχϡʔΞϧ (2008೥11݄)

  7. ͸ͯͳϒοΫϚʔΫ (2) • Ridge (ࣗࣾ੡WAF) • DBIx::MoCo (ࣗࣾ੡O/R mapper) •

    mod_perl2 • nginx + Apache
  8. ͸ͯͳϒοΫϚʔΫ (3) • >= 30000 commits • >= 7000 files

    • >= 50 contributors 2008೥2݄ʙ
  9. ͸ͯͳϒοΫϚʔΫ! ։ൃ؀ڥͷ͜Ε·Ͱ

  10. ෳࡶͳґଘؔ܎

  11. →ґଘͷղܾ

  12. ߏ੒؅ཧ

  13. ຊ൪ •Chef •RPM ։ൃ •cpanm •Homebrew •apt •yum

  14. OS

  15. ຊ൪ •CentOS ։ൃ •OS X •Windows •Linux (Debian)

  16. ͱΓ͋͑ͣ cpanm --installdeps .

  17. ͳΜ͔ࣦഊ͢Δ

  18. cpanm --installdeps .

  19. ͳΜ͔ࣦഊ͢Δ

  20. cpanm \ --installdeps .

  21. ͳΜ͔ࣦഊ͢Δ

  22. ΋͏΍ͩ

  23. ͳΜͱ͔͢Δ

  24. A. จॻΛ࢒͢

  25. • ίʔυ΍ίϛοτʹ දΕͳ͍΋ͷ • ܦҢ • จ຺ ! ! •

    ʮ݁ہͲ͏͢Ε͹͍͍ ͔ʯ͸ԕ͍ • Ϟνϕʔγϣϯͷফඅ • Ϟνϕʔγϣϯ͸༗ ݶ • ʮͱʹ͔͘ؤுΔʯ
  26. A. ϓϩάϥϚϒϧͳ ηοτΞοϓํ๏

  27. • ୯७࡞ۀͷੵΈॏͶ • ΦϓγϣϯҾ਺ͷ ࢼߦࡨޡͱ͔ • ϩά͕࢒Δ • յΕͨΒ͙͢ʹΘ͔Δ !

    • ෳࡶ͞Λ࣋ͪࠐΉ • ֶशίετ • ϝϯςφϯείετ
  28. http://vagrantup.com/

  29. •VM Λ্ཱͪ͛Δ •(Ҏલʹ΋΍͍ͬͯͨ) •ϋʔυ΢ΣΞ΋ਐԽ͕ͨ͠……

  30. http://www.opscode.com/chef/

  31. ୮ਫ਼͜Ίͯ࡞ͬͨ VM Πϝʔδ

  32. ୮ਫ਼͜Ίͯ࡞ͬͨ VM Πϝʔδ R.I.P.

  33. Vagrant! ʢόουʣϊ΢ϋ΢

  34. •NFS ͰήετͱϦϙδτϦΛڞ༗͢Δ •Virtualbox ͷ shared folder ͸஗͍ •࠷େ20ഒ஗͍…… • http://docs-v1.vagrantup.com/v1/docs/nfs.html

  35. •perl-build Ͱ Perl 5.8.8 ΛೖΕΔ •tokuhirom/perl-build •CPAN Ϟδϡʔϧ͸ Cookbook ʹهड़

    •όʔδϣϯΛࢦఆͯ͠Πϯετʔϧ͢Δ LWRP •ผʹ Carton Խ΋ਐΊ͍ͯΔ
  36. • ./bin/server • vagrant up • vagrant ssh-config --host vagrant

    > .ssh_config • ssh "cd /repos; perl server.up $@"
  37. •VM Λ্ཱͪ͛ͯ •ssh_config Λͭͬͯ͘ •SSH Ͱήετ OS ্ͰεΫϦϓτΛ࣮ߦ •Proclet

  38. ͙͢ʹ։ൃ͍ͨ͠!!!

  39. •provisioning ·Ͱࡁ·ͤͨ box Λ഑Δ •ࣾ಺ϑΝΠϧαʔό •FTP ΞΫηε΋Մ

  40. ՝୊

  41. •ೋॏ؅ཧͳͷ͸ͦͷ·· •→ຊ൪ʹద༻͞ΕΔChefϨγϐͱ࿈ܞ •ϝϯς͍ͯ͠Δͷ͸ࣗ෼͚ͩ •→஌ݟΛ޿Ί͍͖͍ͯͨ

  42. ͳʹ͸ͱ΋͋Ε

  43. Vagrant + Chef ࠷ߴ!

  44. Vagrant + Chef ࠷ߴ?

  45. NOT ۜͷ஄ؙ

  46. Why use?

  47. •όʔδϣϯ੍໿͕ڧ͍ •CPAN Ϟδϡʔϧ •ϛυϧ΢ΣΞ •৽ͨʹ։ൃʹࢀՃ͢Δਓ͕Ұఆ਺͍Δ •Πϯλʔϯ •ҟಈ

  48. ࢖Θͣʹ͢Ήͷ͕ཧ૝

  49. •Carton •plenv / perlbrew •(Chef Solo)

  50. ෳࡶ͞ͷ୅ঈΛ͸͔Δ

  51. Fin.