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
20
60k
Vagrant と Chef でつくるはてなブックマークの開発環境
aereal
November 25, 2013
Tweet
Share
More Decks by aereal
See All by aereal
盆栽転じて家具となる / Bonsai and Furnitures
aereal
0
5.3k
How to send distibuted traces to Datadog using build own OpenTelemetry-Lambda distribution
aereal
3
290
好きな技術《コト》で、 生きていく技術 / life with what you like
aereal
5
4.3k
qron: Cloud Native Cron Alternativeの今
aereal
2
2.9k
自動作曲入門 / 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
18k
Other Decks in Programming
See All in Programming
Back to the Future: Let me tell you about the ACP protocol
terhechte
0
120
プロダクト開発をAI 1stに変革する〜SaaS is dead時代で生き残るために〜 / AI 1st Product Development
kobakei
0
450
ソフトウェア設計の実践的な考え方
masuda220
PRO
3
390
議事録の要点整理を自動化! サーバレス Bot 構築術
penpeen
3
1.6k
クラシルを支える技術と組織
rakutek
0
190
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
2
130
iOSアプリの信頼性を向上させる取り組み/ios-app-improve-reliability
shino8rayu9
0
140
AccessorySetupKitで実現するシームレスなペアリング体験 / Seamless pairing with AccessorySetupKit
nekowen
0
210
Local Peer-to-Peer APIはどのように使われていくのか?
hal_spidernight
2
440
LLMとPlaywright/reg-suitを活用した jQueryリファクタリングの実際
kinocoboy2
4
660
GraphQL×Railsアプリのデータベース負荷分散 - 月間3,000万人利用サービスを無停止で
koxya
1
1k
CSC305 Lecture 03
javiergs
PRO
0
230
Featured
See All Featured
Side Projects
sachag
455
43k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
2.6k
BBQ
matthewcrist
89
9.8k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Raft: Consensus for Rubyists
vanstee
139
7.1k
The Straight Up "How To Draw Better" Workshop
denniskardys
237
140k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
The Cost Of JavaScript in 2023
addyosmani
53
9k
GitHub's CSS Performance
jonrohan
1032
460k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Into the Great Unknown - MozCon
thekraken
40
2.1k
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.