$30 off During Our Annual Pro Sale. View Details »

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

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

Sotaro Karasawa

October 03, 2015
Tweet

More Decks by Sotaro Karasawa

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

  3. !TPUBSPL

    View Slide

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

    View Slide

  5. !TPUBSPL

    View Slide

  6. View Slide

  7. .FSDBSJ *OD

    View Slide

  8. .FSDBSJ *OD
    %-. 64+1

    ग़඼%BJMZ,
    ߪೖ.POUIMZ.+1:

    View Slide

  9. .FSDBSJ *OD
    $IFDLPVUPVSCMPH
    IUUQUFDINFSDBSJDPN

    View Slide

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

    View Slide

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

    View Slide

  12. %FWFMPQNFOU&OWJSPONFOU
    ։ൃ؀ڥ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  19. 5SBJOJOH
    ڭҭʹ͍ͭͯ

    View Slide

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

    View Slide

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

    View Slide

  22. Α͋͘Δؒҧ͍✘

    View Slide

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

    View Slide

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

    View Slide

  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
    ...

    View Slide

  26. *OEJWJEVBM%FWFMPQNFOU4FSWFS3FDJQF
    EFC
    SQN

    View Slide

  27. -PDBM

    View Slide

  28. PUUP

    View Slide

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

    w ιʔείʔυ͸.BD্ʹɻ TZODFE@GPMEFS

    View Slide

  30. ϝϧΧϦͷ৔߹
    $ git clone http://…/mercari-dev.git
    $ cd mercari-dev
    $ make

    View Slide

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

    View Slide

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

    View Slide

  33. -PDBMͷ೰Έ
    w 2"νʔϜͱͷ΍ΓͱΓ
    w ΫϥΠΞϯτ "OESPJEJ04
    ͱͷ΍ΓͱΓ
    w 44-Ͳ͏͠Α͏
    w ՈͰ΍Δͱ͖ࠔΔ

    View Slide

  34. ϝϧΧϦͷ৔߹
    $ make dns

    View Slide

  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 …

    View Slide

  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-

    View Slide

  37. %BUBCBTF4FSWFS

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  43. 2"
    QA DB
    QA App
    QA Member
    QA Member
    QA Member
    qa.dev.example.com
    %#͕੒ख़ͯ͘͠Δ

    View Slide

  44. ·ͱΊ

    View Slide

  45. ·ͱΊ
    w ։ൃ؀ڥͷߏஙํ๏؆୯ʹͨ͠΄͏͕͍͍Α
    w ͍Ζ͍Ζ΍Γํ͋ΔΑ
    w ϝϧΧϦͩͱ
    w ϩʔΧϧʹߏஙͯ͠։ൃ
    w ϩʔΧϧʹߏங͢Δ೰Έ͸͍Ζ͍Ζղܾ
    w 2"؀ڥ͸ڞ௨ͩͬͨΓ͢Δ
    w σʔλ͸2"؀ڥ͔Β࣋ͬͯདྷͯϋοϐʔ

    View Slide

  46. ʠ։ൃ؀ڥʡʹؔ͢Δ
    ͓·͚తͳ࿩

    View Slide

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

    View Slide

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

    View Slide

  49. 'BDFCPPLͷ3FBDU%FWFMPQFS5PPM

    View Slide

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

    View Slide

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

    View Slide

  52. :PV

    View Slide

  53. PS

    View Slide

  54. View Slide

  55. 8FBSFIJSJOH

    View Slide

  56. 5IBOLZPV

    View Slide