PHP Conference 2015 / How to Build Efficient and Integrated Development Environment for The Team

PHP Conference 2015 / How to Build Efficient and Integrated Development Environment for The Team

「チーム開発において、効率的な統合的な開発環境をいかに作るか」

4564d3601f6230782300dff8499b2d5a?s=128

Sotaro Karasawa

October 03, 2015
Tweet

Transcript

  1. )PXUP#VJME &GpDJFOUBOE*OUFHSBUFE %FWFMPQNFOU&OWJSPONFOU GPS5IF5FBN 1)1$POGFSFODF+BQBO !TPUBSPL .FSDBSJ *OD

  2. ๜୊ νʔϜͷͨΊͷ ޮ཰తͰ౷Ұతͳ։ൃ؀ڥͷ ࡞Γํ ˞ຊൃද͸ଟ෼೔ຊޠͰ͢ 1)1$POGFSFODF+BQBO !TPUBSPL .FSDBSJ *OD

  3. !TPUBSPL

  4. !TPUBSPL 4PUBSP,BSBTBXB .FSDBSJ *OD

  5. !TPUBSPL

  6. None
  7. .FSDBSJ *OD

  8. .FSDBSJ *OD %-.  64 +1  ग़඼%BJMZ,  ߪೖ.POUIMZ.

    +1:
  9. .FSDBSJ *OD $IFDLPVUPVSCMPH IUUQUFDINFSDBSJDPN

  10. 2)PXNBOZFOHJOFFSTJOZPVSUFBN  ʙਓ ʙਓ ʙਓ ਓʙ

  11. .FSDBSJ *OD w &OHJOFFST w 0DU ਓऑ w 0DUਓऑ w

    0DUਓऑ ଟ෼
  12. %FWFMPQNFOU&OWJSPONFOU ։ൃ؀ڥ

  13. ͳͥ ʠ༰қʹߏஙՄೳͳ։ൃ؀ڥ Λ༻ҙ͢΂͖ͳͷ͔

  14. ૑ۀظ ਓ਺਺ਓʙਓͱ͔ ͦΕͧΕ͕ͦΕͧΕద౰ʹ։ൃͯ͠Δɻ ܾ·ͬͯΔͷ͸࢖͏ݴޠͱ%#ɾ8FCαʔόʔ͘Β͍

  15. ੒௕ظ ਓ਺ਓʙ ͦΕͧΕ͕ͦΕͧΕͷʜY  ਓ ϥΠϒϥϦ ݴޠ ϛυϧ΢ΣΞ ίϯ ϙωϯτ

  16. ੒௕ظ ਓ਺ਓʙ ͦΕͧΕ͕ͦΕͧΕͷʜY  ਓ ϥΠϒϥϦ ݴޠ ϛυϧ΢ΣΞ ίϯ ϙωϯτ

    ৽ਓ ϛ
  17. ੒௕ظ ਓ਺ਓʙ ͦΕͧΕ͕ͦΕͧΕͷʜY  ਓ ϥΠϒϥϦ ݴޠ ϛυϧ΢ΣΞ ίϯ ϙωϯτ

    ৽ਓ ϛ
  18. ໰୊ w ؅ཧͰ͖ͳ͍ w ૿͑Δϛυϧ΢ΣΞɾιϑτ΢ΣΞʹϝϯόʔ͕ ௥ैͰ͖ͳ͍ w ৽ਓ͕Ͳ͏΍ͬͯ։ൃΛ࢝ΊΔͷ͔͕Θ͔Βͳ͍

  19. 5SBJOJOH ڭҭʹ͍ͭͯ

  20. ༏लͳਓͷଗ͏νʔϜ͔ͩΒڭҭͱ͔͍Βͳ͍

  21. ͱʹ͔͘։ൃ͕ॏཁ͔ͩΒڭҭͯ͠ΔՋ͸ͳ͍

  22. Α͋͘Δؒҧ͍✘

  23. ༏लͳਓͷଗ͏νʔϜʹͦ͜ɺڭҭ͸ॏཁ w ༏लͳਓΛ͍͔ʹૣ͘ϓϩμΫτͰ׆༂ͤ͞Δ͔ w ૊৫ͷ੒௕ʹඋ͑Δ w ϑΣʔζʹΑΔঢ়گͷมԽΛ࣮֬ʹଊ͑ͳ͕Β

  24. ։ൃ؀ڥߏஙʹؔ͢Δ ΑΓ۩ମతͳ࿩

  25. $PNNPO%FWFMPQNFOU4FSWFS /var/www/vhosts/dev1.example.com /var/www/vhosts/dev2.example.com /var/www/vhosts/dev3.example.com /var/www/vhosts/dev4.example.com ...

  26. *OEJWJEVBM%FWFMPQNFOU4FSWFS 3FDJQF EFC SQN

  27. -PDBM

  28. PUUP

  29. ϝϧΧϦͷ৔߹ w 7JSUVBM#PY 7BHSBOU w ֤छϛυϧ΢ΣΞΛηοτΞοϓࡁΈͷ#PY Λ഑෍ #PY͸4ʹ͓͍ͯΔ  w

    ιʔείʔυ͸.BD্ʹɻ TZODFE@GPMEFS
  30. ϝϧΧϦͷ৔߹ $ git clone http://…/mercari-dev.git $ cd mercari-dev $ make

  31. ϝϧΧϦͷ৔߹ config.vm.box_url = "https://s3-ap- northeast-1.amazonaws.com/.../mercari- dev/catalog.json"

  32. #PYͮ͘ΓͷΞϨίϨ w σΟϨΫτϦߏ଄Λຊ൪ͱଗ͑Δ w ഑෍͢Δ7.ࣗମͷϓϩϏδϣχϯάΛBOTJCMFͰ w WFFXFFͰϏϧυ w NBLFίϚϯυൃͰϏϧυˠΧλϩάͷΞοϓϩʔυ w

    FYQFSJNFOUBMCVJMEΛఏڙͯ͠ಈ࡞֬ೝޙ഑෍൛࡞੒
  33. -PDBMͷ೰Έ w 2"νʔϜͱͷ΍ΓͱΓ w ΫϥΠΞϯτ "OESPJEJ04 ͱͷ΍ΓͱΓ w 44-Ͳ͏͠Α͏ w

    ՈͰ΍Δͱ͖ࠔΔ 
  34. ϝϧΧϦͷ৔߹ $ make dns

  35. IPTUTΛॻ͖׵͑ΒΕͳ͍ ͔Β΋ΞΫηεͰ͖ͯخ͍͠ 10.0.1.12 api-sotarok-jp.dev.example.com 10.0.1.12 api-sotarok-us.dev.example.com 10.0.1.12 www-sotarok-jp.dev.example.com 10.0.1.12 www-sotarok-us.dev.example.com

    10.0.1.12 …
  36. ϋΠϑϯͰ໊લΛ࡞Δ EFWFYBNQMFDPN 10.0.1.12 api-sotarok-jp.dev.example.com 10.0.1.12 api-sotarok-us.dev.example.com 10.0.1.12 www-sotarok-jp.dev.example.com 10.0.1.12 www-sotarok-us.dev.example.com

    10.0.1.12 … 8JME$BSE44-
  37. %BUBCBTF4FSWFS

  38. $PNNPO%BUBCBTF4FSWFS DEV DB Dev Server Dev Server Dev Server

  39. ։ൃ؀ڥͷσʔλΛͰ͖Δ͚ͩຊ൪ʹ͚ۙͮΔ IUUQUFDIMJGFDPPLQBEDPNFOUSZ

  40. ϝϧΧϦͷ৔߹ w -PDBMʹ։ൃ؀ڥΛ΋ͬͯΔ΋ΜͰʜ w 2"؀ڥͷ%#ͷόοΫΞοϓΛJNQPSU͢ Δ࢓૊Έ

  41. 2"؀ڥ ͋Δ͍͸TUBHJOHͱ͔͍͏

  42. 2" QA DB QA App QA Member QA Member QA

    Member qa.dev.example.com
  43. 2" QA DB QA App QA Member QA Member QA

    Member qa.dev.example.com %#͕੒ख़ͯ͘͠Δ
  44. ·ͱΊ

  45. ·ͱΊ w ։ൃ؀ڥͷߏஙํ๏؆୯ʹͨ͠΄͏͕͍͍Α w ͍Ζ͍Ζ΍Γํ͋ΔΑ w ϝϧΧϦͩͱ w ϩʔΧϧʹߏஙͯ͠։ൃ w

    ϩʔΧϧʹߏங͢Δ೰Έ͸͍Ζ͍Ζղܾ w 2"؀ڥ͸ڞ௨ͩͬͨΓ͢Δ w σʔλ͸2"؀ڥ͔Β࣋ͬͯདྷͯϋοϐʔ
  46. ʠ։ൃ؀ڥʡʹؔ͢Δ ͓·͚తͳ࿩

  47. ʠ։ൃ؀ڥʡ͸ αʔόʔ͚ͩ͡Όͳͯ͘ɻ

  48. ʠ։ൃ؀ڥʡ w *%& w $PNNBOE-JOF5PPMT w #SPXTFS&YUFOTJPO w ʜ

  49. 'BDFCPPLͷ3FBDU%FWFMPQFS5PPM

  50. ։ൃͷ඼࣭Λ޲্ͤ͞ɺແବΛল͘ w ͦ͏͍͏ʠπʔϧʡ܊͢΂ͯ։ൃ؀ڥ w ແବΛऔΓআ͖ຊ࣭తͳ։ൃ࡞ۀʹ࠷΋ूதͰ͖ Δ؀ڥΛ࡞Δ

  51. ͦ͏͍͏͜ͱΛɺ ୭͕ߟ͑ ୭͕࢝ΊΔ͔

  52. :PV

  53. PS

  54. None
  55. 8FBSFIJSJOH

  56. 5IBOLZPV