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
6k
Vagrant + Berkshelf
Yusuke Ando
November 12, 2013
Tweet
Share
More Decks by Yusuke Ando
See All by Yusuke Ando
CakePHP3でアプリ開発
yandod
1
380
Shimokita.Unity パーティクルでエフェクト
yandod
0
800
CakePHP3の明るい未来
yandod
1
240
Testing your app with Selenium on Travis CI
yandod
8
3.2k
Testing your app with Selenium on Travis CI
yandod
0
140
Inputで入力を扱う
yandod
0
680
Detonatorで爆発させる勉強会をした報告
yandod
0
2.4k
Mecanimでアニメーション - Shimokita.Unity
yandod
0
740
パリの街をUnityで駆ける
yandod
1
3.4k
Other Decks in Technology
See All in Technology
ソフトウェアQAがハードウェアの人になったの
mineo_matsuya
3
200
ロールが細分化された組織でSREは何をするか?
tgidgd
1
420
QuickSight SPICE の効果的な運用戦略~S3 + Athena 構成での実践ノウハウ~/quicksight-spice-s3-athena-best-practices
emiki
0
290
セキュアな社内Dify運用と外部連携の両立 ~AIによるAPIリスク評価~
zozotech
PRO
0
120
LIXIL基幹システム刷新に立ち向かう技術的アプローチについて
tsukuha
1
380
AI エージェントと考え直すデータ基盤
na0
20
7.9k
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.2k
アクセスピークを制するオートスケール再設計: 障害を乗り越えKEDAで実現したリソース管理の最適化
myamashii
1
670
対話型音声AIアプリケーションの信頼性向上の取り組み
ivry_presentationmaterials
3
1.1k
Amazon SNSサブスクリプションの誤解除を防ぐ
y_sakata
3
190
ゼロから始めるSREの事業貢献 - 生成AI時代のSRE成長戦略と実践 / Starting SRE from Day One
shinyorke
PRO
0
110
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
6.9k
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Making Projects Easy
brettharned
116
6.3k
How to Think Like a Performance Engineer
csswizardry
25
1.7k
Code Review Best Practice
trishagee
69
19k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
How to Ace a Technical Interview
jacobian
278
23k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.2k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Optimizing for Happiness
mojombo
379
70k
4 Signs Your Business is Dying
shpigford
184
22k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
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
࣭ʁ