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
How to send distibuted traces to Datadog using build own OpenTelemetry-Lambda distribution
aereal
3
150
好きな技術《コト》で、 生きていく技術 / life with what you like
aereal
5
1.8k
qron: Cloud Native Cron Alternativeの今
aereal
2
1.7k
自動作曲入門 / 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
17k
ScalaとPerlでMicroservices in production / Building microservices with Perl and Scala in production
aereal
0
5.3k
Other Decks in Programming
See All in Programming
AWS初心者ってどうやってAWSを学ぶ?〜アプリエンジニアがやってよかったアーキテクチャ学習方法〜
yamanashi_ren01
0
190
SDCon2024: Enabling DevOps and Team Topologies thru architecture: architecting for fast flow
cer
PRO
0
780
CSC307 Lecture 13
javiergs
PRO
0
150
Modern Angular: Renovation for Your Applications
manfredsteyer
PRO
0
140
HMSコンペ 11th Solution (team : kansai-kaggler)
t88
1
680
しくじり先生 Image Matching Challenge 2024 編
goosehaaan
0
810
Webエディタライブラリ 「CodeMirror」から学ぶ Webアプリ開発のテクニック
ryosukeigarashi
0
250
【Go言語】golangci-lintの使い方
tomo1227
0
280
Android開発者のための Kotlin Multiplatform入門
ntaro
0
190
Rubyのパフォーマンスプロファイリングの改善 / Enhancing performance profiling for Ruby
osyoyu
1
410
継続的な活動で築く地方エンジニアの道
myamashii
2
360
Findy - エンジニア向け会社紹介 / Findy Letter for Engineers
findyinc
2
81k
Featured
See All Featured
Navigating Team Friction
lara
181
13k
RailsConf 2023
tenderlove
16
720
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
17
8.7k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
248
20k
Gamification - CAS2011
davidbonilla
78
4.9k
Building Applications with DynamoDB
mza
89
5.8k
GraphQLの誤解/rethinking-graphql
sonatard
59
9.6k
Mobile First: as difficult as doing things right
swwweet
219
8.8k
What's in a price? How to price your products and services
michaelherold
239
11k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
35
6.3k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
245
1.2M
Optimising Largest Contentful Paint
csswizardry
18
2.6k
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.