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
59k
Vagrant と Chef でつくるはてなブックマークの開発環境
aereal
November 25, 2013
Tweet
Share
More Decks by aereal
See All by aereal
盆栽転じて家具となる / Bonsai and Furnitures
aereal
0
3.3k
How to send distibuted traces to Datadog using build own OpenTelemetry-Lambda distribution
aereal
3
230
好きな技術《コト》で、 生きていく技術 / life with what you like
aereal
5
3.1k
qron: Cloud Native Cron Alternativeの今
aereal
2
2.3k
自動作曲入門 / introduction to programatic music composition
aereal
1
530k
はてなブログ タグとCDK / The epic of AWS CDK and Hatena Blog Tag
aereal
3
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
さいきょうのレイヤードアーキテクチャについて考えてみた
yahiru
3
660
Package Traits
ikesyo
2
230
Terraform で作る Amazon ECS の CI/CD パイプライン
hiyanger
0
130
Spring gRPC について / About Spring gRPC
mackey0225
0
200
Swiftコンパイラ超入門+async関数の仕組み
shiz
0
200
第3回 Snowflake 中部ユーザ会- dbt × Snowflake ハンズオン
hoto17296
4
300
動作確認やテストで漏れがちな観点3選
starfish719
6
940
AWS Organizations で実現する、 マルチ AWS アカウントのルートユーザー管理からの脱却
atpons
0
110
iOSエンジニアから始める visionOS アプリ開発
nao_randd
3
110
“あなた” の開発を支援する AI エージェント Bedrock Engineer / introducing-bedrock-engineer
gawa
11
1.6k
技術を根付かせる / How to make technology take root
kubode
1
110
ISUCON14公式反省会LT: 社内ISUCONの話
astj
PRO
0
170
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
290
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Building Your Own Lightsaber
phodgson
104
6.2k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
Speed Design
sergeychernyshev
25
760
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
128
19k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
113
50k
Music & Morning Musume
bryan
46
6.3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
390
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.