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
Vagrant と Chef でつくるはてなブックマークの開発環境
Search
aereal
November 25, 2013
Programming
61k
20
Share
Vagrant と Chef でつくるはてなブックマークの開発環境
aereal
November 25, 2013
More Decks by aereal
See All by aereal
盆栽転じて家具となる / Bonsai and Furnitures
aereal
0
6.5k
How to send distibuted traces to Datadog using build own OpenTelemetry-Lambda distribution
aereal
3
340
好きな技術《コト》で、 生きていく技術 / life with what you like
aereal
5
6k
qron: Cloud Native Cron Alternativeの今
aereal
2
3.3k
自動作曲入門 / introduction to programatic music composition
aereal
1
530k
はてなブログ タグとCDK / The epic of AWS CDK and Hatena Blog Tag
aereal
2
200k
はてなブログ タグの技術選択 / The technical details of Hatena Blog Tag
aereal
3
200k
ブログサービスのHTTPS化を支えたAWSで作るピタゴラスイッチ / The construction of large scale TLS certificates management system with AWS
aereal
3
400k
AWSではてなブログの常時HTTPS配信をバーンとやる話 / The Epic of migration from HTTP to HTTPS on Hatena Blog with AWS
aereal
14
19k
Other Decks in Programming
See All in Programming
t *testing.T は どこからやってくるの?
otakakot
1
890
過去のレビュー知見をSkillsで資産化した話
pkshadeck
PRO
0
400
なぜあなたのコードには「コシ」がないのか?〜AI時代に問う、最後まで美味しい設計と戦略〜 #phpconkagawa / phpconkagawa2026
shogogg
0
120
ハーネスエンジニアリングにどう向き合うか 〜ルールファイルを超えて開発プロセスを設計する〜 / How to approach harness engineering
rkaga
27
18k
AIを導入する前にやるべきこと
negima
2
320
【26新卒研修】OpenAPI/Swagger REST API研修
dip_tech
PRO
0
130
実用!Hono RPC2026
yodaka
2
290
mruby on C#: From VM Implementation to Game Scripting (RubyKaigi 2026)
hadashia
2
1.5k
2026_04_15_量子計算をパズルとして解く
hideakitakechi
0
130
Lightning-Fast Method Calls with Ruby 4.1 ZJIT / RubyKaigi 2026
k0kubun
3
2.3k
Cache-moi si tu peux : patterns et pièges du cache en production - Devoxx France 2026 - Conférence
slecache
0
330
ソフトウェア設計の結合バランス #phperkaigi
kajitack
0
490
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
A Tale of Four Properties
chriscoyier
163
24k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
100
Accessibility Awareness
sabderemane
1
110
We Are The Robots
honzajavorek
0
220
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
290
The Curse of the Amulet
leimatthew05
1
12k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
140
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
170
Optimizing for Happiness
mojombo
378
71k
Transcript
Vagrant ͱ Chef Ͱͭ͘Δ ͯͳϒοΫϚʔΫͷ! ։ൃڥ id:aereal
ΞδΣϯμ •ͯͳϒοΫϚʔΫ։ൃڥͷ͜Ε·Ͱ •Vagrant + Chef ʹΑΔ࣮ࡍͷӡ༻ͱ՝
ࠓ͠ͳ͍ •Vagrant ͱ? •Chef ͱ? •(Carton ͱ?)
aereal aereal aereal.org
• αʔόαΠυ (Perl) • ΫϥΠΞϯταΠυ (JavaScript) ! ! • αʔόαΠυ
(Perl) • ϒϥβ֦ு (JavaScript) • ։ൃج൫ͷඋ • Jenkins, Plack, etc.
ͯͳϒοΫϚʔΫ • αʔϏε։࢝ (20052݄ʙ) • ϦχϡʔΞϧ (200811݄)
ͯͳϒοΫϚʔΫ (2) • Ridge (ࣗࣾWAF) • DBIx::MoCo (ࣗࣾO/R mapper) •
mod_perl2 • nginx + Apache
ͯͳϒοΫϚʔΫ (3) • >= 30000 commits • >= 7000 files
• >= 50 contributors 20082݄ʙ
ͯͳϒοΫϚʔΫ! ։ൃڥͷ͜Ε·Ͱ
ෳࡶͳґଘؔ
→ґଘͷղܾ
ߏཧ
ຊ൪ •Chef •RPM ։ൃ •cpanm •Homebrew •apt •yum
OS
ຊ൪ •CentOS ։ൃ •OS X •Windows •Linux (Debian)
ͱΓ͋͑ͣ cpanm --installdeps .
ͳΜ͔ࣦഊ͢Δ
cpanm --installdeps .
ͳΜ͔ࣦഊ͢Δ
cpanm \ --installdeps .
ͳΜ͔ࣦഊ͢Δ
͏ͩ
ͳΜͱ͔͢Δ
A. จॻΛ͢
• ίʔυίϛοτʹ දΕͳ͍ͷ • ܦҢ • จ຺ ! ! •
ʮ݁ہͲ͏͢Ε͍͍ ͔ʯԕ͍ • Ϟνϕʔγϣϯͷফඅ • Ϟνϕʔγϣϯ༗ ݶ • ʮͱʹ͔͘ؤுΔʯ
A. ϓϩάϥϚϒϧͳ ηοτΞοϓํ๏
• ୯७࡞ۀͷੵΈॏͶ • ΦϓγϣϯҾͷ ࢼߦࡨޡͱ͔ • ϩά͕Δ • յΕͨΒ͙͢ʹΘ͔Δ !
• ෳࡶ͞Λ࣋ͪࠐΉ • ֶशίετ • ϝϯςφϯείετ
http://vagrantup.com/
•VM Λ্ཱͪ͛Δ •(Ҏલʹ͍ͬͯͨ) •ϋʔυΣΞਐԽ͕ͨ͠……
http://www.opscode.com/chef/
୮ਫ਼͜Ίͯ࡞ͬͨ VM Πϝʔδ
୮ਫ਼͜Ίͯ࡞ͬͨ VM Πϝʔδ R.I.P.
Vagrant! ʢόουʣϊϋ
•NFS ͰήετͱϦϙδτϦΛڞ༗͢Δ •Virtualbox ͷ shared folder ͍ •࠷େ20ഒ͍…… • http://docs-v1.vagrantup.com/v1/docs/nfs.html
•perl-build Ͱ Perl 5.8.8 ΛೖΕΔ •tokuhirom/perl-build •CPAN Ϟδϡʔϧ Cookbook ʹهड़
•όʔδϣϯΛࢦఆͯ͠Πϯετʔϧ͢Δ LWRP •ผʹ Carton ԽਐΊ͍ͯΔ
• ./bin/server • vagrant up • vagrant ssh-config --host vagrant
> .ssh_config • ssh "cd /repos; perl server.up $@"
•VM Λ্ཱͪ͛ͯ •ssh_config Λͭͬͯ͘ •SSH Ͱήετ OS ্ͰεΫϦϓτΛ࣮ߦ •Proclet
͙͢ʹ։ൃ͍ͨ͠!!!
•provisioning ·Ͱࡁ·ͤͨ box ΛΔ •ࣾϑΝΠϧαʔό •FTP ΞΫηεՄ
՝
•ೋॏཧͳͷͦͷ·· •→ຊ൪ʹద༻͞ΕΔChefϨγϐͱ࿈ܞ •ϝϯς͍ͯ͠Δͷ͚ࣗͩ •→ݟΛΊ͍͖͍ͯͨ
ͳʹͱ͋Ε
Vagrant + Chef ࠷ߴ!
Vagrant + Chef ࠷ߴ?
NOT ۜͷؙ
Why use?
•όʔδϣϯ੍͕ڧ͍ •CPAN Ϟδϡʔϧ •ϛυϧΣΞ •৽ͨʹ։ൃʹࢀՃ͢Δਓ͕Ұఆ͍Δ •Πϯλʔϯ •ҟಈ
Θͣʹ͢Ήͷ͕ཧ
•Carton •plenv / perlbrew •(Chef Solo)
ෳࡶ͞ͷঈΛ͔Δ
Fin.