Slide 1

Slide 1 text

7BHSBOU "NB[PO&$ 3ZVUBSP:04)*#"!SZV[FF 13೥7݄23೔Ր༵೔

Slide 2

Slide 2 text

٢Ӌཾଠ࿠ http://www.ryuzee.com/ Twitter: @ryuzee Consultant @ Amazon Data Services Japan 13೥7݄23೔Ր༵೔

Slide 3

Slide 3 text

%FW0QT௒جૅ ͱͦͷલʹ 13೥7݄23೔Ր༵೔

Slide 4

Slide 4 text

γεςϜͷػೳͷར༻ׂ߹ 7% 13% 16% 19% 45% ·ͬͨ͘࢖Θͳ͍ ΄ͱΜͲ࢖Θͳ͍ ͨ·ʹ࢖͏ Α͘࢖͏ ͍ͭ΋࢖͏ 4UBOEJTIͷ೥ͷௐࠪΑΓ 13೥7݄23೔Ր༵೔

Slide 5

Slide 5 text

΢ΥʔλʔϑΥʔϧ 7ࣈ ཁ݅ఆٛ ड͚ೖΕࢼݧ جຊઃܭ ૯߹ࢼݧ ৄࡉઃܭ ݁߹ࢼݧ ੡଄ɾ୯ମ ͕͔͔࣌ؒΓ͗͢ ͯɺग़དྷͨࠒʹ͸ཁ ٻ͕มԽɻͦ΋ͦ΋ ཁ͕͍݅͋ͬͯͳ͍ ͜ͱ͕͜͜Ͱ෼͔Δ 13೥7݄23೔Ր༵೔

Slide 6

Slide 6 text

Ϛʔέοτʹ੡඼Λ ૣظʹ౤ೖͯ͠ ౤ࢿΛճऩ͠ རӹʹ݁ͼ͚ͭΔ ඞཁੑ͕͋Δ 13೥7݄23೔Ր༵೔

Slide 7

Slide 7 text

ຖ೔Կճ΋ຊ൪؀ڥʹσϓϩΠ Ͱ͖͍ͯΔ͔ʁ ސ٬ʹසൟʹՁ஋Λಧ͚ΒΕͯ ͍Δ͔ʁ 13೥7݄23೔Ր༵೔

Slide 8

Slide 8 text

ϑΟʔνϟʔ୯ҐͰ׬ྃ ίʔυϨϏϡʔ νΣοΫΠϯ Ϣχοτςετ ΧόϨοδ υΩϡϝϯτ ੑೳ ηΩϡϦςΟ σϓϩΠ ݁߹ςετ ड͚ೖΕςετ Ϋϩεϒϥ΢β ੩తղੳ ϑΟʔνϟʔ ίʔυϨϏϡʔ νΣοΫΠϯ Ϣχοτςετ ΧόϨοδ υΩϡϝϯτ ੑೳ ηΩϡϦςΟ σϓϩΠ ݁߹ςετ ड͚ೖΕςετ Ϋϩεϒϥ΢β ੩తղੳ ϑΟʔνϟʔ ίʔυϨϏϡʔ νΣοΫΠϯ Ϣχοτςετ ΧόϨοδ υΩϡϝϯτ ੑೳ ηΩϡϦςΟ σϓϩΠ ݁߹ςετ ड͚ೖΕςετ Ϋϩεϒϥ΢β ੩తղੳ ϑΟʔνϟʔ ίʔυϨϏϡʔ νΣοΫΠϯ Ϣχοτςετ ΧόϨοδ υΩϡϝϯτ ੑೳ ηΩϡϦςΟ σϓϩΠ ݁߹ςετ ड͚ೖΕςετ Ϋϩεϒϥ΢β ੩తղੳ ϑΟʔνϟʔ ίʔυϨϏϡʔ νΣοΫΠϯ Ϣχοτςετ ΧόϨοδ υΩϡϝϯτ ੑೳ ηΩϡϦςΟ σϓϩΠ ݁߹ςετ ड͚ೖΕςετ Ϋϩεϒϥ΢β ੩తղੳ ϑΟʔνϟʔ ίʔυϨϏϡʔ νΣοΫΠϯ Ϣχοτςετ ΧόϨοδ υΩϡϝϯτ ੑೳ ηΩϡϦςΟ σϓϩΠ ݁߹ςετ ड͚ೖΕςετ Ϋϩεϒϥ΢β ੩తղੳ ϑΟʔνϟʔ ίʔυϨϏϡʔ νΣοΫΠϯ Ϣχοτςετ ΧόϨοδ υΩϡϝϯτ ੑೳ ηΩϡϦςΟ σϓϩΠ ݁߹ςετ ड͚ೖΕςετ Ϋϩεϒϥ΢β ੩తղੳ ϑΟʔνϟʔ 13೥7݄23೔Ր༵೔

Slide 9

Slide 9 text

σϓϩΠͷͨͼʹ ਓखͰςετ͢Δͷ͸ແཧ 13೥7݄23೔Ր༵೔

Slide 10

Slide 10 text

http://bit.ly/tnB8i0 ਗ਼ਫͷ෣୆͔Β ඈͼ߱Γͳ͍ 13೥7݄23೔Ր༵೔

Slide 11

Slide 11 text

Summit Developers Α͋͘Δޫܠ ͯΊʔ΋ͬͱͪΌ ΜͱΞϓϦ࡞Ε ӡ༻ͰͳΜͱ͔͢Μͷ ͕͋ΜͨΒͷ࢓ࣄͩΖ http://www.flickr.com/photos/makitani/3940687822/ ͋ͷʙɺϏδωε ͷ͜ͱߟ͑ͯΑ ӡ༻ ։ൃ Ϗδωε 13೥7݄23೔Ր༵೔

Slide 12

Slide 12 text

Summit Developers %FW0QTͷେࣄͳ͜ͱ • 7BHSBOUΛ࢖ͬͨΓɺ$*࢖ͬͨΓɺܧଓత σϦόϦʔͨ͠Γɺ$IFGͰ؀ڥߏஙͨ͠Γ ͔ͨ͠Βͱ͍ͬͯ%FW0QTͱ͸ݶΒͳ͍ • πʔϧͱจԽͷ࿩ͷ྆ํ͕ඞཁ • ڠྗͱվળͷจԽ • πʔϧʹΑΔޮ཰Խ • ϏδωεՁ஋ʹϑΥʔΧε 13೥7݄23೔Ր༵೔

Slide 13

Slide 13 text

7BHSBOUͷ࿩ 13೥7݄23೔Ր༵೔

Slide 14

Slide 14 text

Summit Developers http://www.vagrantup.com 13೥7݄23೔Ր༵೔

Slide 15

Slide 15 text

Summit Developers 7BHSBOUͷಛ௃ • Ծ૝ϚγϯΛந৅Խ͢ΔϑϩϯτΤϯυ • ࡞ͬͯ • ࢼͯ͠ • ࣺͯͯ • ϓϩϏδϣχϯάػೳͱͷ૊Έ߹Θͤ • ϓϥάΠϯʹΑΔ֦ு 13೥7݄23೔Ր༵೔

Slide 16

Slide 16 text

Summit Developers ͳΜͰ࢖͏ͷʁ • ૉૣ͘؀ڥΛ࡞Γ͍ͨ • ιϑτ΢ΣΞͷߏ੒ཁૉ͕૿͑ͨ • ؒҧ͑Δ • Զͷ؀ڥͰ͸ಈ͍͍ͯΔ໰୊ • ߏ੒؅ཧΛ༰қʹ • υΩϡϝϯτ͔Βίʔυ΁ ʢ*OGSBTUSVDUVSFBT$PEFʣ • ຊ࣭తͰͳ͍࡞ۀʹ࣌ؒΛ࢖Θͳ͍Α͏ʹ ϜμΛආ͚Δ 13೥7݄23೔Ր༵೔

Slide 17

Slide 17 text

Summit Developers ͳΜͰ࢖͏ͷʁ • ࣮ݧ͠΍͘͢ͳΔ • ৽͍͠ιϑτ΢ΣΞͷΠϯετʔϧ • $POpHͷΦϓγϣϯ֬ೝ • ϦϦʔε΍Ξοϓσʔτͷखॱ֬ೝ 13೥7݄23೔Ր༵೔

Slide 18

Slide 18 text

Summit Developers ͳΜͰ࢖͏ͷʁ • ࠷ۙͷτϨϯυ • $IFGͷ$PPLCPPLͳͲͷ$*ʹ࢖͏ • ·ͬ͞Βͳঢ়ଶ͔Βɺ͔͠Δ΂͖ঢ়ଶʹऩ ଋ͢Δ͜ͱΛຖճ֬ೝ͢Δ • 5FTU,JUDIFOΛ࢖͏ • ΋ͪΖΜΞϓϦͷ$*Ͱ΋ར༻Մೳ • σϓϩΠͷ࣮ݧ 13೥7݄23೔Ր༵೔

Slide 19

Slide 19 text

Summit Developers $IFGͷ$PPLCPPLͷ$* export VBOX_USER_HOME=/var/lib/jenkins/VirtualBox\ VMs && export VAGRANT_HOME=/var/lib/jenkins/.vagrant.d && source /var/lib/jenkins/.rvm/scripts/rvm > /dev/null 2>&1 && cd ${WORKSPACE} && bundle install && bundle exec kitchen test 13೥7݄23೔Ր༵೔

Slide 20

Slide 20 text

Summit Developers جຊతͳ༻ޠ • 7BHSBOUpMF • Ծ૝ϚγϯͷఆٛϑΝΠϧʢ3VCZʣ • #PY • Ծ૝ϚγϯͷςϯϓϨʔτ • 1MVHJO • 1SPWJEFS΍ͦ΋ͦ΋7BHSBOUͷ಺෦΋ϓϥάΠϯ Ͱ࡞ΒΕ͍ͯΔ • 1SPWJEFS • Ծ૝ϚγϯΛ࡞ΔΤϯδϯ෦෼ • 1SPWJTJPOFS • Ծ૝ϚγϯΛϓϩϏδϣχϯά͢ΔΤϯδϯ෦෼ 13೥7݄23೔Ր༵೔

Slide 21

Slide 21 text

Summit Developers (FUUJOH4UBSUFE vagrant box add precise64 ¥ http://files.vagrantup.com/precise64.box vagrant init precise64 vagrant up Ծ૝ϚγϯΛىಈʢ7JSUVBM#PYʣ vagrant halt Ծ૝ϚγϯΛఀࢭ vagrant destroy Ծ૝ϚγϯΛഁغ 13೥7݄23೔Ր༵೔

Slide 22

Slide 22 text

Summit Developers ༷ʑͳ#PY http://vagrantbox.es ݸҎ্ͷCPY 13೥7݄23೔Ր༵೔

Slide 23

Slide 23 text

Summit Developers ༷ʑͳ#PY • ͨͩ͠ૉੑ͕Θ͔Βͳ͍΋ͷ΋͋ͬͨΓɺ༨ܭ ͳ΋ͷ͕ೖ͍ͬͯͨΓ͢ΔՄೳੑ͋Γ • ࣗલͰ΋࡞ΕΔ • 7FFXFFɺ1BDLFS • 1BDLFS͕ࠓޙσϑΝΫτελϯμʔυʹͳ Δ͸ͣ 13೥7݄23೔Ր༵೔

Slide 24

Slide 24 text

Summit Developers 1BDLFS http://packer.io 13೥7݄23೔Ր༵೔

Slide 25

Slide 25 text

Summit Developers 1BDLFS { "builders": [{ "type": "amazon-ebs", "region": "ap-northeast-1", "source_ami": "ami-39b23d38", "instance_type": "m1.medium", "ssh_username": "ec2-user", "ssh_timeout": "5m", "ami_name": "amznlinux-{{.CreateTime}}" }], "provisioners": [{ "type": "shell", "script": "script.sh", "remote_path": "/tmp/script.sh" }] } ఆٛϑΝΠϧॻ͍ͯ packer build hoge.json Ϗϧυ͢Δ ࣗ෼༻".*ͷ࡞੒ྫ 13೥7݄23೔Ր༵೔

Slide 26

Slide 26 text

Summit Developers ୅දతͳϓϥάΠϯ wԾ૝ϚγϯΛ؆୯ʹϩʔϧόοΫͰ͖Δఆ൪ϓ ϥάΠϯ w࢒೦ͳ͕Β7JSUVBM#PYͷΈରԠ w"84Λ࢖͏৔߹͸ɺεφοϓγϣοτͰ୅༻ 4BIBSB 13೥7݄23೔Ր༵೔

Slide 27

Slide 27 text

Summit Developers ୅දతͳϓϥάΠϯ w7JSUVBM#PYͷ(VFTU"EEJUJPOΛ࠷৽൛ʹ ࣗಈͰߋ৽ͯ͘͠ΕΔ wݹ͍#PYΛ࢖͍ͬͯΔͱ͖ʹ༗ޮ w໊લͷ௨Γ7JSUVBM#PYͷΈରԠ 7BHSBOUWCHVFTU 13೥7݄23೔Ր༵೔

Slide 28

Slide 28 text

Summit Developers ୅දతͳϓϥάΠϯ wԾ૝Ϛγϯʹ$IFG$MJFOU΍$IFG4PMPΛࣗ ಈͰΠϯετʔϧͯ͘͠ΕΔʢ$IFGͷ PNOJCVTJOTUBMMFSΛୟ͘ʣ wͲΜͳ؀ڥͰ΋࢖͑Δ 7BHSBOUPNOJCVT 13೥7݄23೔Ր༵೔

Slide 29

Slide 29 text

Summit Developers ୅දతͳϓϥάΠϯ w$IFGΛ࢖ͬͯϓϩϏδϣχϯά͢Δ࣌ʹґଘ ؔ܎ͷ͋Δ$PPLCPPLΛࣗಈͰऔ͖ͬͯͯ͘ ΕΔ wͲΜͳ؀ڥͰ΋࢖͑Δ 7BHSBOUCFSLTIFMG 13೥7݄23೔Ր༵೔

Slide 30

Slide 30 text

Summit Developers ୅දతͳϓϥάΠϯ w7BHSBOUͱ$IFGͰ7JSUVBM#PYͷԾ૝Ϛγ ϯΛ࡞ͬͯ࡟আͨ͠ࡍʹ/PEF΍$MJFOU͕࡟ আ͞Εͣʹ࣍ʹԾ૝Ϛγϯ͕ىಈ͠ͳ͍໰୊ʹ ରॲ w7JSUVBM#PYͷΈ 7BHSBOUDIFGOPEF 13೥7݄23೔Ր༵೔

Slide 31

Slide 31 text

Summit Developers 1SPWJEFS • 7BHSBOU·Ͱ͸7JSUVBM#PYͷΈ • 7BHSBOUҎ߱͸1SPWJEFSػೳʹΑΔ ந৅Խ • "NB[PO&$ WBHSBOUBXT • 7.XBSFGVTJPO ༗ঈ • ,7. WBHSBOULWN • 0QFO4UBDL WBHSBOUPQFOTUBDL • 3BDL4QBDF WBHSBOUSBDLTQBDF • FUD 13೥7݄23೔Ր༵೔

Slide 32

Slide 32 text

Summit Developers ίΞͷ֦ு plugin_load_proc = lambda do |directory| # We only care about directories next false if !directory.directory? # If there is a plugin file in the top-level directory, then load # that up. plugin_file = directory.join("plugin.rb") if plugin_file.file? puts "[INFO]loading monkey patch: #{plugin_file}" load(plugin_file) next true end end Vagrant.source_root.join(File.dirname(__FILE__) + "/patch/plugins/ communicators/").children(true).each do |directory| # Ignore non-directories next if !directory.directory? # Load from this directory, and exit if we successfully loaded a plugin puts directory next if plugin_load_proc.call(directory) end ϞϯΩʔύον 13೥7݄23೔Ր༵೔

Slide 33

Slide 33 text

Summit Developers 7BHSBOUͰ&$Πϯελϯε vagrant plugin install vagrant-aws WBHSBOUBXTϓϥάΠϯΛಋೖ 13೥7݄23೔Ր༵೔

Slide 34

Slide 34 text

Summit Developers 7BHSBOUͰ&$Πϯελϯε Vagrant.configure("2") do |config| config.vm.box = "dummy" config.vm.box_url = "https://github.com/mitchellh/vagrant- aws/raw/master/dummy.box" config.vm.provider :aws do |aws, override| aws.access_key_id = ENV['AWS_ACCESS_KEY_ID'] aws.secret_access_key = ENV['AWS_SECRET_KEY'] aws.keypair_name = ENV['AWS_KEYPAIR_NAME'] override.ssh.username = ‘ec2-user’ override.ssh.private_key_path = ENV['AWS_PRIVATE_KEY_PATH'] aws.region = "ap-northeast-1" aws.ami = "ami-71b22570" aws.instance_type = "t1.micro" aws.ssh_username = ‘ec2-user’ aws.security_groups = ["web"] end end Ұ൪୯७ͳྫ 13೥7݄23೔Ր༵೔

Slide 35

Slide 35 text

Summit Developers 7BHSBOUͰ&$Πϯελϯε vagrant up --provider=aws Ծ૝Ϛγϯͷ࡞੒ QSPWJEFSΛ੾Γସ͑Δ 13೥7݄23೔Ր༵೔

Slide 36

Slide 36 text

Summit Developers 71$΋͍͚Δ Vagrant.configure("2") do |config| config.vm.box = "dummy" config.vm.box_url = "https://github.com/mitchellh/vagrant-aws/raw/master/ dummy.box" config.vm.provider :aws do |aws, override| aws.access_key_id = ENV['AWS_ACCESS_KEY_ID'] aws.secret_access_key = ENV['AWS_SECRET_KEY'] aws.keypair_name = ENV['AWS_KEYPAIR_NAME'] override.ssh.username = ‘ec2-user’ override.ssh.private_key_path = ENV['AWS_PRIVATE_KEY_PATH'] #---- VPCݻ༗ͷઃఆ ----# aws.private_ip_address = "10.0.10.10" aws.subnet_id = "subnet-xxxxxxxx" aws.security_groups = ["sg-xxxxxxxx"] #---- VPCݻ༗ͷઃఆ͜͜·Ͱ ----# aws.region = "ap-northeast-1" aws.ami = "ami-71b22570" aws.instance_type = "t1.micro" aws.ssh_username = ‘ec2-user’ aws.security_groups = ["web"] end end ͨͩ͠71/઀ଓ͕ඞཁ 13೥7݄23೔Ր༵೔

Slide 37

Slide 37 text

Summit Developers Ϋϥ΢υͷಛ௃ wઌߦ౤ࢿ͕ෆཁ w҆Ձͳ࢖ͬͨ෼͚ͩͷར༻ྉͷࢧ෷͍ w༰ྔͷॊೈੑɺεέʔϧΠϯɾεέʔϧΞ΢τ Λࣗ༝ʹ w଎౓ɾΞδϦςΟͷ޲্ wίΞίϯϐλϯε΁ͷूத͕Մೳ wϫʔϧυϫΠυ 13೥7݄23೔Ր༵೔

Slide 38

Slide 38 text

Summit Developers 1SPWJTJPOFS • 4IFMM • ΠϯϥΠϯɾ֎෦ϑΝΠϧ • $IFG΍$IFG4PMP • 1VQQFU • ུ • $'&OHJOF • ུ 13೥7݄23೔Ր༵೔

Slide 39

Slide 39 text

Summit Developers 4IFMMͰ1SPWJTJPOJOH Vagrant.configure("2") do |config| config.vm.box = "CentOS-6.4-x86_64-ja" config.vm.provision :shell, :path => "script.sh" end *OMJOF·ͨ͸֎෦εΫϦϓτܦ༝Ͱ؆୯ϓ ϩϏδϣχϯάʢҙ֎ͱΈΜͳ஌Βͳ͍ʣ 13೥7݄23೔Ր༵೔

Slide 40

Slide 40 text

Summit Developers 4IFMMͰ1SPWJTJPOJOH #!/bin/sh yum install -y httpd php php-mbstring php-pdo php-mysql mysql- server /sbin/chkconfig --level 2345 mysqld on /sbin/chkconfig --level 2345 httpd on /etc/rc.d/init.d/httpd start /etc/rc.d/init.d/mysqld start cat < < END > /etc/sysconfig/iptables *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT END /etc/rc.d/init.d/iptables restart ͘͝ී௨ͷ4IFMM 13೥7݄23೔Ր༵೔

Slide 41

Slide 41 text

Summit Developers $IFG4PMPͰ1SPWJTJPOJOH Vagrant.configure("2") do |config| config.vm.box = "CentOS-6.4-x86_64-ja" config.vm.network :private_network, ip: "192.168.33.10" config.vm.provision :chef_solo do |chef| chef.cookbooks_path = "./cookbooks" chef.roles_path = "./roles" chef.data_bags_path = "./data_bags" chef.add_role "web" chef.add_recipe "resolver" chef.add_recipe "myapp" chef.json = { :resolver => { :search => "localhost", :nameservers => ["8.8.8.8", "8.8.1.1"] } } end end ର৅Ϛγϯʹ$IFG$MJFOUͷ Πϯετʔϧ͕ඞཁ 13೥7݄23೔Ր༵೔

Slide 42

Slide 42 text

Summit Developers $IFG4FSWFSͰ1SPWJTJPOJOH 13೥7݄23೔Ր༵೔

Slide 43

Slide 43 text

Summit Developers $IFG4FSWFSͰ1SPWJTJPOJOH Vagrant.configure("2") do |config| config.vm.box = "CentOS-6.4-x86_64-ja" config.vm.network :private_network, ip: "192.168.33.80" config.vm.hostname = 'chef-test01' config.vm.provision :chef_client do |chef| chef.chef_server_url = "https://chef.meguro.ryuzee.com" chef.validation_client_name = "chef-validator" chef.validation_key_path = "#{ENV['HOME']}/.chef/chef- validator.pem" chef.client_key_path = "/etc/chef/client.pem" chef.environment ="development" chef.add_role "web" chef.add_recipe "analog" end end ର৅Ϛγϯʹ$IFG$MJFOUͷ Πϯετʔϧ͕ඞཁ 13೥7݄23೔Ր༵೔

Slide 44

Slide 44 text

Summit Developers 1SPWJTJPOJOHͷར఺ • ߏங͢ΔԾ૝Ϛγϯ͕7JSUVBMCPYͩΖ͏͕ɺ "NB[PO&$ͩΖ͏͕ɺಉ͡εΫϦϓτΛ ࢖͑Δ • Կճ࣮ߦͯ͠΋ಉ݁͡ՌʹͳΔ Α͏ʹ͍ͨ͠ • ΋ͬͱ΋ύοέʔδ͕ͳ͘ͳͬͨΓɺόʔ δϣϯ͕มΘͬͨΓ͢Δͱಈ͔ͳ͘ͳΔՄೳ ੑ΋͋ΔͷͰ$*͍ͨ͠ 13೥7݄23೔Ր༵೔

Slide 45

Slide 45 text

Summit Developers 7BHSBOUͷߏ଄ͷ·ͱΊ Vagrant Core VirtualBox Amazon EC2 Vmware Fusion Vagrantfile ͦͷଞͷϓϥάΠϯ Shell Cookbook Manifest ੨͍Օॴ͕3VCZ Shell Chef Puppet 13೥7݄23೔Ր༵೔

Slide 46

Slide 46 text

Summit Developers ૊Έ߹Θͤࣗ༝ Vagrant Core VirtualBox Amazon EC2 Vmware Fusion Vagrantfile ͦͷଞͷϓϥάΠϯ Shell Cookbook Manifest Shell Chef Puppet 13೥7݄23೔Ր༵೔

Slide 47

Slide 47 text

Summit Developers ૊Έ߹Θͤࣗ༝ Vagrant Core VirtualBox Amazon EC2 Vmware Fusion Vagrantfile ͦͷଞͷϓϥάΠϯ Shell Cookbook Manifest Shell Chef Puppet 13೥7݄23೔Ր༵೔

Slide 48

Slide 48 text

Summit Developers ૊Έ߹Θͤࣗ༝ 1SPWJEFSͱ 1SPWJTJPOFS͸ಠཱ 13೥7݄23೔Ր༵೔

Slide 49

Slide 49 text

Summit Developers "NB[PO&$Ͱͷ஫ҙ఺ • "NB[PO-JOVYͷ৔߹ɺσϑΥϧτͰ͸ SFRVJSFUUZ͕ແޮԽ͞Ε͍ͯͳ͍ͷͰɺ ࣗ෼ઐ༻ͷ".*Λ࡞Δ • $FOU04΍3FE)BU΋جຊಉ͡͸ͣ • 6CVOUV͸େৎ෉ • 44)ͷ5JNFPVUΛ௕Ίʹͨ͠΄͏͕ྑ͍͔΋ 13೥7݄23೔Ր༵೔

Slide 50

Slide 50 text

Summit Developers Ϣʔεέʔε • ϩʔΧϧ։ൃ؀ڥͱ·ͬͨ͘ಉ͡࢓ֻ͚Ͱςε τ؀ڥΛߏங͢Δ • ͦͷ··֬ೝ؀ڥͱ͓ͯ͠٬͞Μʹެ։͢Δ • &*1ͱηΩϡϦςΟάϧʔϓͷઃఆ • 3PVUFͰυϝΠϯ໊ϕʔεͰΞΫηε • ͍·ͷͱ͜Ζຊ൪͸ผͰߟ͑ͨํ͕ྑ͍͔΋ • %#ʹ"NB[PO3%4࢖ͬͨΓ 13೥7݄23೔Ր༵೔

Slide 51

Slide 51 text

Summit Developers Ϣʔεέʔε • ݸਓͷ։ൃ؀ڥࣗମ΋"NB[PO&$Λ࢖͏ • ໷΍ि຤ʹΠϯελϯεΛഁغ͢Ε͹0, ؼΔલʹΠϯελϯεΛഁغ͢ΔͷͰɺςετ Λॻ͍ͯίϛοτͯ͠௨Δͱ͜ΖΛݟಧ͚͔ͯ Β͔͠ؼΕͳ͍ େϦʔάཆ੒Ϊϒε 13೥7݄23೔Ր༵೔

Slide 52

Slide 52 text

Summit Developers ຊ൪؀ڥ͸ҧ͏΍Γํ "84$MPVE'PSNBUJPO ΍$MPVE*OJUͱ $IFGͳͲͷ૊Έ߹Θͤ 13೥7݄23೔Ր༵೔

Slide 53

Slide 53 text

Summit Developers ৘ใݯ Create and Manage Virtualized Development Environments Mitchell Hashimoto Vagrant Up and Running http://docs.vagrantup.com/v2/ http://oreilly.com/go/vagrant 13೥7݄23೔Ր༵೔