構成管理ツールを渡り歩いてItamaeに辿り着いた話/Itamae Meetup #1

961126d9892ae4df45249529a0721571?s=47 sugamasao
December 10, 2015

構成管理ツールを渡り歩いてItamaeに辿り着いた話/Itamae Meetup #1

http://itamae.connpass.com/event/22857/
に登壇した際の資料です

961126d9892ae4df45249529a0721571?s=128

sugamasao

December 10, 2015
Tweet

Transcript

  1. ߏ੒؅ཧπʔϧΛ౉Γ า͍ͯItamaeʹḷΓண ͍ͨ࿩ Itamae Meetup #1 sugamasao 2015/12/09

  2. HN: sugamasao PN: ͕͢ΘΒ·͞ͷΓ RubyͰΞϓϦέʔγϣϯ ίʔυΛॻ͖ͭͭΠϯϑϥͷ ߏங΍ӡ༻ͳͲ΋΍ΔϚϯ ࣗݾ঺հ

  3. ॻ͍ͨ΋ͷʢએ఻ʣ

  4. ॻ͍ͨ΋ͷʢ୅ද࡞తͳ΋ͷʣ https://github.com/sugamasao/kanojo_bot

  5. લஔ͖ • ࣠଍͸ΞϓϦέʔγϣϯΤϯδχΞ • Πϯϑϥઐ೚ͷΤϯδχΞͰ͸ͳ͍ • ͋·Γ࣌ؒΛֻ͚ΒΕͳ͍…… • αʔό୆਺͕૿͑Δͱ͍ͬͯ΋͍͍ͤͥ 10୆͘Β͍ͷن໛ײͰ͢

  6. ߏ੒؅ཧπʔϧͷมભͱಋೖ࣌ظ • fabricظʢ3ʙ4೥લ͘Β͍ʁʣ • chef-soloظʢ2೥લ͘Β͍ʁʣ • Itamaeظʢ1೥લ͘Β͍ʁʣ ※αʔόߏ੒Λݟ௚͢λΠϛϯάͰ৐Γ׵͑ͯΔɺɺɺ

  7. ͸͍

  8. fabricظ • αʔό୆਺͕͘͝গͳ͍࣌୅ • ࣗલϏϧυͷϛυϧ΢ΣΞ͕͍ͭ͘ ͔

  9. fabric

  10. fabric from fabric.api import local def sample(): local("ls -l") •

    खଓ͖తʹॲཧ͕ॻ͚Δ • ϩʔΧϧଆͱαʔόଆͰͦΕͧΕγΣϧεΫϦϓ τΛॻ͘ײ͡ ➜ fab sample : # ls ͷ݁Ռ͕ग़ྗ͞ΕΔ
  11. fabricظ γΣϧεΫϦϓτΛศརʹॻ͚Δ A͕͋ͬͨΒBΛ֬ೝ͔ͯ͠ΒϏϧυʙ Έ͍ͨͳҰ࿈ͷྲྀΕΛॻ͖΍͍͢ ίϚϯυͷ໭Γ஋ͷ֬ೝ΍ϑΝΠϧͷ సૹͳͲࡉʑͨ͠࡞ۀ༻ʹศརϝιο υ͕ఏڙ͞Ε͍ͯΔ put/sed/containsͳͲ

  12. fabricظ ύοέʔδͷΠϯετʔϧͳͲܾ·Γ੾ͬ ͨॲཧͳͲ͸γΣϧεΫϦϓτϕʔεͰ ॻ͘ඞཁ͕͋ΔͷͰͪΐͬͱ໘౗ ※ࠓ͸ͦ͏͍͏ͷ΋͋Δ͔΋ʁ

  13. αʔόߏ੒Λม͑Δʹ͋ͨΓཉ͔ͬͨ͠ Ϡʔπ • ύοέʔδͷΠϯετʔϧ͕Ͱ͖ͯ • ઃఆϑΝΠϧஔ͚ͯ • ద౰ͳσΟϨΫτϦΛ࡞੒Ͱ͖Δ

  14. ཉ͔ͬͨ͠ͷ ͜ΕͰ ͸ʂʂʂʁʂʂʂ ʁʂʂʁ http://www.amazon.co.jp/dp/B00BSPH158

  15. chef-soloظ • αʔό୆਺͕ͪΐͬͱ૿͑ͨ࣌୅ • ࣗલϏϧυΛഇࢭͯ͠ఏڙ͞Ε͍ͯ ΔύοέʔδΛੵۃతʹར༻͢Δ • fabricͷར఺ͩͬͨখճΓͷྑ͕͞ ׆͔ͤͳ͘ͳ͖ͬͯͨ

  16. chef-soloظ DSLͰඞཁͳ෼͚ͩॻ͚Δ ඞཁͳػೳ͸ἧͬͯͦ͏

  17. chef-soloظ ίϛϡχςΟΫοΫϒοΫ࢖͏ͷɺ༐ؾ͕͍ Δ……ʢ໰୊ͳ͍͔શ෦ಡΉӋ໨ʹͳΔʣ ͱ͍͏͔ͦ΋ͦ΋ɺͦΜͳʹେڼͳ΋ͷ͡Ό ͳͯ͘ྑ͍…… ࣗ෼Ͱ࡞Δʹͯ͠΋ͻͳܗͳͲେڼͳײ͡

  18. 1ʙ2ϲ݄ޙ ʮϤογϟߏ੒ͪΐͬͱม͑ΔͰʯ ʮσΟϨΫτϦߏ੒֮͑ͱΒΜ…ʯ ʮʯ

  19. ͜Μͳ͸ͣͰ͸

  20. chef-soloɺྑ͍͚Ͳδϣ δϣͰྫ͑ΔͳΒΘ͟Θ͟ ϩʔυϩʔϥʔΛ୳͖ͯ͠ ͯͿͬ௵ͦ͏ͱ͢ΔΑ͏ͳ େڼ͞Λײ͍ͯͨ͡ࠒɺ ItamaeͷଘࡏΛ஌ͬͨ

  21. ٻΊ͍ͯͨ΋ ͷɺ͜ΕͰ͸ʁ

  22. Itamaeظ

  23. Itamaeظ DSLͰຊ౰ʹඞཁͳ෼͚ͩॻ͚Δ ΤʔδΣϯτϨε ڍಈ͕Α͘Θ͔Βͳͯ͘΋ίʔυΛ͙͢ ಡΊΔαΠζ

  24. Itamaeظ ʢ౰࣌͸ʣυΩϡϝϯτ͕গͳ͘ɺख୳ ΓͰਐΊ͍ͯ͘͜ͱ͕ଟ͔ͬͨ ΋ͬͱྲྀߦͬͯ΄͍͠w

  25. ٻΊ͍ͯͨ΋ͷɺ ͜Εͩͬͨʂ

  26. Itamae࠷ߴ

  27. ͕࣌ؒ༨ͬͨ Β࿩͢༻

  28. Itamaeʹ·ͭΘΔྑ͍࿩ ʢྑ͍࿩൑ఆ͓ئ͍͠·͢ʣ

  29. ڈ೥ͷࠓࠒ·Ͱɺ ࣮༻తͳOSSπʔϧʹ ରͯ͠p-rΛͨ͜͠ͱ ͕ͳ͔ͬͨ

  30. ඞཁʹഭΒΕ͔ͨΒͱ͍ ͏͜ͱ΋͋Δ͚ΕͲɺ Itamae΍όοΫΤϯυͰ ࢖༻͍ͯ͠ΔSpecinfraʹ ରͯ͠ز͔ͭमਖ਼ͷp-rΛ ͯ͠ɺऔΓࠐ·Εͨ☺️

  31. ͜Ε͸خ͍͠ ίʔυͰੈͷதʹߩݙͰ͖Δ ͜ͱ΄Ͳخ͍͜͠ͱ͸ͳ͍

  32. ͜Μͳܦݧ͕Ͱ͖ ͨͷ΋Itamaeͷ ͓͔͛Ͱ͢

  33. Itamae࠷ߴ