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.4k
構成管理ツールを渡り歩いて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
450
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
650
開発生産性、上から見るか 下から見るか / development productivity and cognitive science
sugamasao
12
8.9k
開発の安定性・スループットを定量的に見る #とは / Quantitative view of development
sugamasao
1
1.1k
SaaS.tech #1 / SmartHR
sugamasao
2
6k
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.5k
Other Decks in Technology
See All in Technology
AIにおけるソフトウェアテスト_ver1.00
fumisuke
1
220
ドキュメント管理の理想と現実
kazuhe
1
230
Cross Data Platforms Meetup LT 20250422
tarotaro0129
1
770
白金鉱業Meetup_Vol.18_AIエージェント時代のUI/UX設計
brainpadpr
1
210
JPOUG Tech Talk #12 UNDO Tablespace Reintroduction
nori_shinoda
2
160
4/17/25 - CIJUG - Java Meets AI: Build LLM-Powered Apps with LangChain4j (part 2)
edeandrea
PRO
0
140
Cursor AgentによるパーソナルAIアシスタント育成入門―業務のプロンプト化・MCPの活用
os1ma
15
5.8k
白金鉱業Meetup_Vol.18_生成AIはデータサイエンティストを代替するのか?
brainpadpr
3
160
PicoRabbit: a Tiny Presentation Device Powered by Ruby
harukasan
PRO
2
260
テストって楽しい!開発を加速させるテストの魅力 / Testing is Fun! The Fascinating of Testing to Accelerate Development
aiandrox
0
110
Winning at PHP in Production in 2025
beberlei
1
200
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
140
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.2k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.7k
Adopting Sorbet at Scale
ufuk
76
9.3k
The Invisible Side of Design
smashingmag
299
50k
Raft: Consensus for Rubyists
vanstee
137
6.9k
Into the Great Unknown - MozCon
thekraken
38
1.7k
KATA
mclloyd
29
14k
Designing for humans not robots
tammielis
253
25k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2k
How STYLIGHT went responsive
nonsquared
100
5.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
A designer walks into a library…
pauljervisheath
205
24k
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࠷ߴ