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 + Berkshelf
Search
Yusuke Ando
November 12, 2013
Technology
9
5.9k
Vagrant + Berkshelf
Yusuke Ando
November 12, 2013
Tweet
Share
More Decks by Yusuke Ando
See All by Yusuke Ando
CakePHP3でアプリ開発
yandod
1
320
Shimokita.Unity パーティクルでエフェクト
yandod
0
720
CakePHP3の明るい未来
yandod
1
190
Testing your app with Selenium on Travis CI
yandod
8
3k
Testing your app with Selenium on Travis CI
yandod
0
110
Inputで入力を扱う
yandod
0
650
Detonatorで爆発させる勉強会をした報告
yandod
0
2.4k
Mecanimでアニメーション - Shimokita.Unity
yandod
0
700
パリの街をUnityで駆ける
yandod
1
3.4k
Other Decks in Technology
See All in Technology
InvokeDynamic, Under the Hood
yujisoftware
0
150
DockertestとLocalStackを使って 外部サービスに依存した多要素認証の 動作確認・テストをした話 / A story about using Dockertest and LocalStack to check and test the operation of multi-factor authentication that depends on external services
kaminashi
3
240
Cloudflare Workersで構築する非同期ジョブシステム
aiji42
6
1.1k
20240530_洲崎 Amazon Connectの概要と活用パターン
suzakiyoshito
0
270
KCDSpain / DevBCN 2024: Serverless Platforms on Kubernetes
salaboy
1
170
AthenaとStep Functionsで簡単ETLオーケストレーション #midosuji_tech
nayuts
0
400
生成AIの活用方法 - 2024年現在、 結局どのように使えばいいのだろうか? / How to use Generative AI in 2024
nttcom
10
5.2k
Agentは楽しいぞ
tubone24
0
330
Autonomous Database サービス・アップデート (FY24)
oracle4engineer
PRO
2
740
エンドツーエンドの可視性を実現するクエスト
taijihagino
PRO
1
160
Goでテストをしやすくするためにやったこと
kazukihayase
1
550
株式会社EventHub・エンジニア採用資料
eventhub
0
2.3k
Featured
See All Featured
Unsuck your backbone
ammeep
664
57k
Adopting Sorbet at Scale
ufuk
69
8.7k
How to train your dragon (web standard)
notwaldorf
77
5.3k
Designing for Performance
lara
603
67k
GraphQLとの向き合い方2022年版
quramy
34
13k
Building Your Own Lightsaber
phodgson
101
5.8k
GraphQLの誤解/rethinking-graphql
sonatard
57
9.5k
Become a Pro
speakerdeck
PRO
13
4.7k
Ruby is Unlike a Banana
tanoku
96
10k
Debugging Ruby Performance
tmm1
70
11k
Building Effective Engineering Teams - LeadDev
addyosmani
40
2.1k
Fontdeck: Realign not Redesign
paulrobertlloyd
77
5k
Transcript
OBOBQJ!ZBOEP 7BHSBOUͰ/HJOYQIQGQN $IFGͱࠜؾͱ#FSLTIFMG
ZBOEP $BOEZ$BOFQIQ $BLF1)1࣮ફೖ
UFDIBMJTUFSTKQ
1)13VCZ/PEF+BWBରԠ1BB4 $IFGͰ"84ɺ"[VSFΛࣗಈߏங ࣌ؒ༗ਓࢹ 44)TVEPՄೳ͔ͭαϙʔτ༗ εϥΠυͳͲˠ GBDFCPPLDPNFZKBQBO
$IFGͷϔϏʔϢʔβʔ
։ൃڥ ୭ͰඞཁʹͳΔ ଟ࠼ ͗͢Δ ڥ 9".1 .".1 7JSUVBM#PY TZTUFN1)1 ࣮ڥͱԿ͔͕ҧ͏
શ͘ҧ͏
ͦ͜Ͱ7BHSBOU
7BHSBOU ։ൃڥߏஙπʔϧ 7BHSBOUͱ7JSUVBM#PYͷηοτΞοϓ ఆٛϑΝΠϧΛςΩετͰهड़ WBHSBOUVQͰ։ൃڥ͕ىಈ
WBHSBOUVQ Vagrantfile VirtualBox Chef Solo Cookbook ಡΈࠐΈ ىಈ ࣗಈઃఆ ಡΈࠐΈ
ΩοΫ
͍͢͝ ϑΝΠϧ͚ͩͰಉ͡ڥΛ࠶ݱ ςΩετͳͷͰࠩཧͰ͖Δ ͖ͳ*%&ͰΰϦΰϦฤूͰ͖Δ $IFGͷDPPLCPPLΛຊ൪ʹྲྀ༻Ͱ͖Δ ศར͔ͭɺຊͷڥ͕͑Δ
Πϯετʔϧ HFNͰͷΠϯετʔϧඇਪ
5JQT3VCZJO7BHSBOU 7BHSBOUҎ߱3VCZΛಉ͍ࠝͯ͠Δ
WBHSBOUCPY ։ൃڥͷϕʔεʹ͢ΔΠϝʔδ IUUQXXXWBHSBOUCPYFT WBHSBOUCPYBEE\UJUMF^\VSM^ %SPQ#PYͰެ։͢Δͱࢮ͵
None
WBHSBOUJOJU 7BHSBOUpMFΛੜ ϓϩδΣΫτԼͳͲ͕ྑ͍ IPNFʹ࡞Βͳ͍΄͏͕ྑ͍ http://bit.ly/php-vagrant
Vagrant.configure("2") do |config| config.vm.box = "base" config.vm.box_url = "http://dom.com/ a.box"
end
WBHSBOUVQ 7BHSBOUpMFΛݩʹϚγϯΛىಈ WBHSBOUTTIͰTTIͰϩάΠϯՄೳ JEQBTTͷཧෆཁʂ ͜ͷ··ͩͱૉͷΠϝʔδ
DPOpHWNTZODFE@GPMEFS 1$ଆͷϑΥϧμΛ7.ʹϚϯτ υΩϡϝϯτϧʔτʹιʔεΛʂ *%&Ͱฤूͨ͠༰͕ଈ࣌ө GUQɺTDQHJU͕ແͯ͘େৎ
ͦͷଞ DPOpHWNOFUXPSL /"5ઃఆͳͲͷࣗಈԽ WCDVTUPNJ[F ϝϞϦׂΓͯͳͲ ϓϥάΠϯ ଞͷԾԽΫϥυΛར༻Մೳ
DPOpHWNQSPWJTJPO ىಈͨ͠Ϛγϯͷߏஙઃఆ $IFGTPMP 1VQQFU$'&OHJOF4IFMM"OTJCMFՄೳ ΫοΫϒοΫͷύεΛهड़
config.vm.provision :chef_solo do |chef| chef.cookbooks_path = "../my-recipes/cookbooks" chef.add_recipe "mysql" end
$IFG େྲྀߦͷߏஙπʔϧ ϨγϐΛهड़ͯ͠ߏங ωοτ্ʹใ͕ଟ͍ ߚനग़ܾఆڃͷώοτ
package “nginx” template “/etc/nginx/nginx.conf” do source “nginx.conf.erb” end service “nginx”
do action :start end SFDJQF Πϯετʔϧ ઃఆϑΝΠϧίϐʔ αʔϏε։࢝
ཧܗ Vagrantfile Cookbook Ϋϥυ ։ൃڥ ຊ൪ڥ $PPLCPPLͰ։ൃڥͱຊ൪ڥΛಉظ
5*14ΫοΫϒοΫΔ ͦΕ·Ͱಈ͍͍ͯͨΫοΫϒοΫ ͋Δ͔࣌Βಈ͔ͳ͘ͳΔ ύοέʔδͷΞοϓσʔτͳͲ ܧଓతͳϝϯςφϯε͕͔ܽͤͳ͍
Node Node GitHub engineyard.com Node &OHJOF:BSEͷ߹ DIFGTPMP Cookbook BQQMZ &OHJOF:BSE͕࣮ͨ͠Ϩγϐ
Λ8FCͷૢ࡞Ͱඞཁͳ࣌ʹө ΧελϜϨγϐ
ಥવͷ੬ऑੑରԠ
੬ऑੑରԠͳͲΛਵ࣌৴
͜͜·Ͱ Ҏલ͓͠·ͨ͠
7BHSBOU $IFGͷ՝ 7BHSBOUpMFͱผʹΫοΫϒοΫ͕ඞཁ DPPLCPPLTͷॴΛࢦఆ ෳͷΞϓϦͰڞ༻͢Δ࣌ ΫοΫϒοΫෆఆظͰϝϯς͕ඞཁ
ΫοΫϒοΫڞ༗ Vagrantfile Cookbook App1 Vagrantfile App2 Vagrantfile App3
ZBOEPEPNVTVCJ QIQGQNOHJOYͳ ։ൃڥ༻Ϩγϐ
PNVTVCJ 6CVOUVϕʔε εΫϥονͰॻ͍ͨΫοΫϒοΫ QIQ/HJOY$PNQPTFSQIQVOJU NZTRMQPTUHSFTRMJNBHFNBHJDL ඞཁ͔ͩͬͨΒॻ͍ͨϨγϐ
ਖ਼߈๏Ϩγϐಉࠝ
ਖ਼߈๏TVCNPEVMFTVCUSFF
ࠇຐज़DIFGTPMPS ϦϞʔτͷUBSϘʔϧΛల։࣮ͯ͠ߦ
ଥڠશ෦4IFMM ͞ΑͳΒႈੑ
ͲΕ͍·͍ͪ Oճͷϝϯς͕ඞཁ
ͦ͜Ͱ#FSLTIFMG
#FSLTIFMG 3JPU(BNFT $PPLCPPLͷґଘཧπʔϧ CVOEMFSతͳࣄ͕ग़དྷΔ CFSLTJOTUBMMͰ#FSLTpMFΛݩʹऩू ίϛϡχςΟΫοΫϒοΫҎ֎0,
-PDBUJPO
#FSLTIFMGͳΒ ࣗ࡞ͷΫοΫϒοΫΛ֎෦͔Βಋೖ ϓϥΠϕʔτϦϙδτϦ0, 0QT$PEFͱซ༻Մೳ 7BHSBOU#FSLTIFMGϓϥάΠϯͰશࣗಈ
શࣗಈ WBHSBOUQMVHJOJOTUBMMWBHSBOUCFSLTIFMG DPOpHCFSLTIFMGFOBCMFUSVF CFSLTίϚϯυΛ৮Δඞཁແ͠ʂ
#FSLTpMF
7BHSBOUpMF #FSLTGJMFͰऔಘͨ͠ ϨγϐΛࢦఆՄೳʹ
͞Βʹຐվ #FSLTGJMFΛ7BHSBOUGJMF ʹଂͤͯ͞ݟͨ
ҙ ར༻ऀʹ7BHSBOU#FSLTIFMGϓϥάΠϯ ΫοΫϒοΫʹNFUBEBUBSC͕ඞཁ UFTULJUDIFOͳͲͰςετ͕ඞཁ
αϯϓϧ HJUIVCDPNZBOEPEPNVTVCJ HJTUHJUIVCDPNZBOEPE
࣭ʁ