Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
構成管理ツールを渡り歩いてItamaeに辿り着いた話/Itamae Meetup #1
Search
sugamasao
December 10, 2015
Technology
1
1.3k
構成管理ツールを渡り歩いてItamaeに辿り着いた話/Itamae Meetup #1
http://itamae.connpass.com/event/22857/
に登壇した際の資料です
sugamasao
December 10, 2015
Tweet
Share
More Decks by sugamasao
See All by sugamasao
EMConf JP 2025 懇親会LT / EMConf JP 2025 social gathering
sugamasao
2
190
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
610
開発生産性、上から見るか 下から見るか / development productivity and cognitive science
sugamasao
12
8.7k
開発の安定性・スループットを定量的に見る #とは / Quantitative view of development
sugamasao
1
1k
SaaS.tech #1 / SmartHR
sugamasao
2
5.8k
Ruby history of my life
sugamasao
2
11k
Perfect Ruby on Rails v2
sugamasao
0
20k
Ruby on Rails 6.0 New Feature
sugamasao
1
12k
Rubyを説明するのは難しい(仮) / ruby is difficult
sugamasao
5
9.4k
Other Decks in Technology
See All in Technology
ExaDB-XSで利用されているExadata Exascaleについて
oracle4engineer
PRO
3
250
Cracking the Coding Interview 6th Edition
gdplabs
14
28k
DevinでAI AWSエンジニア製造計画 序章 〜CDKを添えて〜/devin-load-to-aws-engineer
tomoki10
0
120
【Findy】「正しく」失敗できる チームの作り方 〜リアルな事例から紐解く失敗を恐れない組織とは〜 / A team that can fail correctly by findy
i35_267
5
880
IAMポリシーのAllow/Denyについて、改めて理解する
smt7174
2
210
あなたが人生で成功するための5つの普遍的法則 #jawsug #jawsdays2025 / 20250301 HEROZ
yoshidashingo
2
290
Snowflake ML モデルを dbt データパイプラインに組み込む
estie
0
100
IAMのマニアックな話2025
nrinetcom
PRO
3
440
What's new in Go 1.24?
ciarana
1
110
データベースの負荷を紐解く/untangle-the-database-load
emiki
2
510
JavaにおけるNull非許容性
skrb
2
2.6k
Iceberg Meetup Japan #1 : Iceberg and Databricks
databricksjapan
0
370
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Building Adaptive Systems
keathley
40
2.4k
Gamification - CAS2011
davidbonilla
80
5.2k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Designing Experiences People Love
moore
140
23k
How to Ace a Technical Interview
jacobian
276
23k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
Why Our Code Smells
bkeepers
PRO
336
57k
Building a Scalable Design System with Sketch
lauravandoore
461
33k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.2k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Transcript
ߏཧπʔϧΛΓ า͍ͯItamaeʹḷΓண ͍ͨ Itamae Meetup #1 sugamasao 2015/12/09
HN: sugamasao PN: ͕͢ΘΒ·͞ͷΓ RubyͰΞϓϦέʔγϣϯ ίʔυΛॻ͖ͭͭΠϯϑϥͷ ߏஙӡ༻ͳͲΔϚϯ ࣗݾհ
ॻ͍ͨͷʢએʣ
ॻ͍ͨͷʢද࡞తͳͷʣ https://github.com/sugamasao/kanojo_bot
લஔ͖ • ࣠ΞϓϦέʔγϣϯΤϯδχΞ • ΠϯϑϥઐͷΤϯδχΞͰͳ͍ • ͋·Γ࣌ؒΛֻ͚ΒΕͳ͍…… • αʔό͕૿͑Δͱ͍͍͍ͬͯͤͥ 10͘Β͍ͷنײͰ͢
ߏཧπʔϧͷมભͱಋೖ࣌ظ • fabricظʢ3ʙ4લ͘Β͍ʁʣ • chef-soloظʢ2લ͘Β͍ʁʣ • Itamaeظʢ1લ͘Β͍ʁʣ ※αʔόߏΛݟ͢λΠϛϯάͰΓ͑ͯΔɺɺɺ
͍
fabricظ • αʔό͕͘͝গͳ͍࣌ • ࣗલϏϧυͷϛυϧΣΞ͕͍ͭ͘ ͔
fabric
fabric from fabric.api import local def sample(): local("ls -l") •
खଓ͖తʹॲཧ͕ॻ͚Δ • ϩʔΧϧଆͱαʔόଆͰͦΕͧΕγΣϧεΫϦϓ τΛॻ͘ײ͡ ➜ fab sample : # ls ͷ݁Ռ͕ग़ྗ͞ΕΔ
fabricظ γΣϧεΫϦϓτΛศརʹॻ͚Δ A͕͋ͬͨΒBΛ֬ೝ͔ͯ͠ΒϏϧυʙ Έ͍ͨͳҰ࿈ͷྲྀΕΛॻ͖͍͢ ίϚϯυͷΓͷ֬ೝϑΝΠϧͷ సૹͳͲࡉʑͨ͠࡞ۀ༻ʹศརϝιο υ͕ఏڙ͞Ε͍ͯΔ put/sed/containsͳͲ
fabricظ ύοέʔδͷΠϯετʔϧͳͲܾ·Γͬ ͨॲཧͳͲγΣϧεΫϦϓτϕʔεͰ ॻ͘ඞཁ͕͋ΔͷͰͪΐͬͱ໘ ※ࠓͦ͏͍͏ͷ͋Δ͔ʁ
αʔόߏΛม͑Δʹ͋ͨΓཉ͔ͬͨ͠ Ϡʔπ • ύοέʔδͷΠϯετʔϧ͕Ͱ͖ͯ • ઃఆϑΝΠϧஔ͚ͯ • దͳσΟϨΫτϦΛ࡞Ͱ͖Δ
ཉ͔ͬͨ͠ͷ ͜ΕͰ ʂʂʂʁʂʂʂ ʁʂʂʁ http://www.amazon.co.jp/dp/B00BSPH158
chef-soloظ • αʔό͕ͪΐͬͱ૿͑ͨ࣌ • ࣗલϏϧυΛഇࢭͯ͠ఏڙ͞Ε͍ͯ ΔύοέʔδΛੵۃతʹར༻͢Δ • fabricͷརͩͬͨখճΓͷྑ͕͞ ׆͔ͤͳ͘ͳ͖ͬͯͨ
chef-soloظ DSLͰඞཁͳ͚ͩॻ͚Δ ඞཁͳػೳἧͬͯͦ͏
chef-soloظ ίϛϡχςΟΫοΫϒοΫ͏ͷɺ༐ؾ͕͍ Δ……ʢͳ͍͔શ෦ಡΉӋʹͳΔʣ ͱ͍͏͔ͦͦɺͦΜͳʹେڼͳͷ͡Ό ͳͯ͘ྑ͍…… ࣗͰ࡞Δʹͯ͠ͻͳܗͳͲେڼͳײ͡
1ʙ2ϲ݄ޙ ʮϤογϟߏͪΐͬͱม͑ΔͰʯ ʮσΟϨΫτϦߏ֮͑ͱΒΜ…ʯ ʮʯ
͜ΜͳͣͰ
chef-soloɺྑ͍͚Ͳδϣ δϣͰྫ͑ΔͳΒΘ͟Θ͟ ϩʔυϩʔϥʔΛ୳͖ͯ͠ ͯͿͬ௵ͦ͏ͱ͢ΔΑ͏ͳ େڼ͞Λײ͍ͯͨ͡ࠒɺ ItamaeͷଘࡏΛͬͨ
ٻΊ͍ͯͨ ͷɺ͜ΕͰʁ
Itamaeظ
Itamaeظ DSLͰຊʹඞཁͳ͚ͩॻ͚Δ ΤʔδΣϯτϨε ڍಈ͕Α͘Θ͔Βͳͯ͘ίʔυΛ͙͢ ಡΊΔαΠζ
Itamaeظ ʢ࣌ʣυΩϡϝϯτ͕গͳ͘ɺख୳ ΓͰਐΊ͍ͯ͘͜ͱ͕ଟ͔ͬͨ ͬͱྲྀߦͬͯ΄͍͠w
ٻΊ͍ͯͨͷɺ ͜Εͩͬͨʂ
Itamae࠷ߴ
͕࣌ؒ༨ͬͨ Β͢༻
Itamaeʹ·ͭΘΔྑ͍ ʢྑ͍ఆ͓ئ͍͠·͢ʣ
ڈͷࠓࠒ·Ͱɺ ࣮༻తͳOSSπʔϧʹ ରͯ͠p-rΛͨ͜͠ͱ ͕ͳ͔ͬͨ
ඞཁʹഭΒΕ͔ͨΒͱ͍ ͏͜ͱ͋Δ͚ΕͲɺ ItamaeόοΫΤϯυͰ ༻͍ͯ͠ΔSpecinfraʹ ରͯ͠ز͔ͭमਖ਼ͷp-rΛ ͯ͠ɺऔΓࠐ·Εͨ☺️
͜Εخ͍͠ ίʔυͰੈͷதʹߩݙͰ͖Δ ͜ͱ΄Ͳخ͍͜͠ͱͳ͍
͜Μͳܦݧ͕Ͱ͖ ͨͷItamaeͷ ͓͔͛Ͱ͢
Itamae࠷ߴ