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

チーム開発向け WordPressの自動デプロイ/Continuous-deployment-for-wordpress-team-development

Yousan_O
December 12, 2020

チーム開発向け WordPressの自動デプロイ/Continuous-deployment-for-wordpress-team-development

チーム開発向け WordPressの自動デプロイ

Yousan_O

December 12, 2020
Tweet

More Decks by Yousan_O

Other Decks in Programming

Transcript

  1. νʔϜ։ൃ޲͚
    8PSE1SFTTͷࣗಈσϓϩΠ
    Fukui WordPress Meetup 11
    2020೥12݄12೔

    View Slide

  2. ਆ֞ɹ૱
    ෱ౡݝࡏॅʢϦϞʔτʣ
    1)1ʢ૊ΈࠐΈɺϓϥάΠϯʣ
    'MPBUJOH8FFE
    νʔϜ։ൃͱࣗಈԽ͕޷͖
    ࣗݾ঺հ

    View Slide

  3. ࣗݾ঺հ

    View Slide

  4. ෋ࢁɺ෱ౡ
    1)1Λத৺ͱͨ͠γεςϜ։ൃ
    ͓࢓ࣄ͓଴͍ͪͯ͠·͢ʂ
    ͓࢓ࣄҎ֎Ͱ΋σϓϩΠ౳ͷָ
    ͍͓͠࿩Λ͓଴͍ͪͯ͠·͢ʂ
    'MPBUJOH8FFE

    View Slide

  5. ࠓ೔͓఻͍͑ͨ͜͠ͱ
    σϓϩΠ࣌ͷ໰୊఺ͷվળ
    νʔϜ։ൃͷ໰୊఺Λվળ
    Έͳ͞Μͷ։ൃɺνʔϜ։ൃָ͕͘͠ͳΔ

    View Slide

  6. σϓϩΠͱ͸
    ςʔϚͷσϓϩΠ
    (JUԽͱࣗಈσϓϩΠ
    தن໛νʔϜ޲͚ͷσϓϩΠ
    ΞδΣϯμ

    View Slide

  7. σϓϩΠͱ͸
    ςʔϚͷσϓϩΠ
    (JUԽͱࣗಈσϓϩΠ
    தن໛νʔϜ޲͚ͷσϓϩΠ
    ΞδΣϯμ

    View Slide

  8. ഑ஔ͢Δɺ഑උ͢Δ
    ιϑτ΢ΣΞΛར༻Մೳʹ͢Δ
    αʔόʹιϑτ΢ΣΞʢ8PSE1SFTTຊମɺςʔϚʣΛઃ
    ஔ͢Δ
    '51ͰͷΞοϓϩʔυ
    σϓϩΠ

    View Slide

  9. 8PSE1SFTTͰͷσϓϩΠ
    σϓϩΠର৅
    WordPress ίΞ
    ςʔϚϑΝΠϧ
    ϓϥάΠϯ
    ϝσΟΞ
    σʔλϕʔε

    View Slide

  10. 8PSE1SFTTͰͷσϓϩΠ
    σϓϩΠର৅
    WordPress ίΞ
    ςʔϚϑΝΠϧ
    ϓϥάΠϯ
    ϝσΟΞ
    σʔλϕʔε

    View Slide

  11. σϓϩΠͱ͸
    ςʔϚͷσϓϩΠ
    (JUԽͱࣗಈσϓϩΠ
    தن໛νʔϜ޲͚ͷσϓϩΠ
    ΞδΣϯμ

    View Slide

  12. ·ͣ͸ςʔϚͷσϓϩΠ
    Ҏ߱(JU)VC"DUJPOTͰͷ
    ࣗಈσϓϩΠʹ͍ͭͯͷ૝ఆͰ͢

    View Slide

  13. 8PSE1SFTTͷΞοϓϩʔυ
    '51౳ͰͷΞοϓϩʔυ
    αʔόʹରͯ͠ඞཁͳ
    ϑΝΠϧΛΞοϓϩʔυ
    Ξοϓϩʔυ͢Ε͹
    8PSE1SFTTΛ
    ݟΔ͜ͱ͕Ͱ͖Δ

    View Slide

  14. ෳ਺ਓͰΞοϓϩʔυ
    িಥʢಉ͡ϑΝΠϧͷฤ
    ूʣ΍ר໭Γʢݹ͍ϑΝΠ
    ϧͷΞοϓϩʔυʣ͕ى͖
    Δ
    ෆ݈શͳσϓϩΠ
    νʔϜͰͷ։ൃ

    View Slide

  15. σϓϩΠͱ͸
    ςʔϚͷσϓϩΠ
    (JUԽͱࣗಈσϓϩΠ
    தن໛νʔϜ޲͚ͷσϓϩΠ
    ΞδΣϯμ

    View Slide

  16. ϑΝΠϧͷόʔδϣϯ؅ཧ
    8PSE1SFTTͷ؅ཧʹ(JUΛར༻͢Δ
    (JUαʔόʢ(JU)VC౳ʣ্Ͱͷૢ࡞Λߦ͏͜ͱ͕Ͱ͖Δ
    (JUʹίϛοτ͞Εͨஈ֊ͰͷΞοϓϩʔυΛߦ͏͜ͱ͕
    Ͱ͖Δ
    (JUͱͷಋೖͱσϓϩΠ

    View Slide

  17. $*πʔϧ
    (JU)VC"DUJPOT
    $JSDMF$*
    $PEFTIJQ
    (JU͕ίϛοτ͞Εͨ৔߹ʹϓϩάϥϜΛಈ࡞ͤ͞Δ
    ࣗಈతʹΞοϓϩʔυ
    (JUͱࣗಈԽ

    View Slide

  18. (JUͰͷσϓϩΠ

    View Slide

  19. ίϛοτʢϓογϡʣ͢Δͱ
    ࣗಈͰσϓϩΠ
    ։ൃऀͷΞοϓϩʔυ͸ෆཁ
    ʢߦ͏͜ͱ΋Ͱ͖Δʣ
    (JUͰͷσϓϩΠ

    View Slide

  20. νʔϜͰͷࣗಈσϓϩΠ

    View Slide

  21. Ξοϓϩʔυ͕(JUͰҰຊԽ
    (JU͕িಥ͍ͯ͠ͳ͚Ε͹
    Ξοϓϩʔυ΋িಥ͠ͳ͍
    ݈શͳσϓϩΠ
    νʔϜͰͷࣗಈσϓϩΠ

    View Slide

  22. σϓϩΠͷিಥɺר໭Γ͕ى͖ͳ͍
    ੵۃతͳฒߦ։ൃ͕Մೳ
    νʔϜ։ൃ࣌ͷࣗಈσϓϩΠͷϝϦοτ

    View Slide

  23. ࣗಈσϓϩΠʹඞཁͳ͜ͱ

    View Slide

  24. (JU؅ཧ
    ࣗಈσϓϩΠԽ
    αʔό΁ͷ44)઀ଓʢSTZODPWFS44)ʣ
    (JU)VC"DUJPOTͷௐ੔
    44)ݤͷ૊ΈࠐΈ
    Ξοϓϩʔυςετ
    ৄࡉͳखॱʹ͍ͭͯ͸ωοτ্ͷ৘ใΛࢀߟʹ͍ͯͩ͘͠͞
    ࣗಈσϓϩΠʹඞཁͳ͜ͱ

    View Slide

  25. σϓϩΠͱ͸
    ςʔϚͷσϓϩΠ
    (JUԽͱࣗಈσϓϩΠ
    தن໛νʔϜ޲͚ͷσϓϩΠ
    ΞδΣϯμ

    View Slide

  26. தن໛νʔϜͰͷσϓϩΠ

    View Slide

  27. தن໛νʔϜͰͷσϓϩΠ
    ฐࣾͰߦ͍ͬͯΔऔΓ૊Έͷ঺հ
    ϓϩδΣΫτʹԠͯ͡Ұ෦ɺશ෦Λߦ͍ͬͯ·͢

    View Slide

  28. ςʔϚϑΝΠϧΛ(JUʹஔ͘
    ϩʔΧϧ؀ڥ͸ͦΕͧΕཱͯΔ
    ຊମɺϓϥάΠϯ౳͸(JU؅ཧ֎
    ςʔϚͷ(JUԽ

    View Slide

  29. ෳ਺ͷػೳΛಉ࣌ʹ։ൃɺݕূ
    τοϓϖʔδͷεϥΠμʔ࣮૷
    ݻఆϖʔδͷ࣮૷
    ؅ཧը໘ʹΧελϜϑΟʔϧυ௥Ճ
    8PP$PNNFSDFϝʔϧςϯϓϨʔτ௥Ճ
    αΠτ༻ϓϥάΠϯ։ൃ
    8PSE1SFTTͷόʔδϣϯΞοϓݕূ
    ςʔϚͷΈ؅ཧͷ໰୊఺

    View Slide

  30. τοϓϖʔδͷεϥΠμʔ࣮૷
    εϥΠμʔը૾͕౰ͨΒͳ͍
    ݻఆϖʔδͷ࣮૷
    ݻఆϖʔδͷத਎͕ͳ͍
    ؅ཧը໘ʹΧελϜϑΟʔϧυ௥Ճ
    ΧελϜϑΟʔϧυͷத਎͕ͳ͍
    8PP$PNNFSDFϝʔϧςϯϓϨʔτ௥Ճ
    ϓϥάΠϯͷ؅ཧ
    αΠτ༻ϓϥάΠϯ։ൃ
    ϓϥάΠϯͷ؅ཧ
    8PSE1SFTTͷόʔδϣϯΞοϓݕূ
    8PSE1SFTTຊମͷ؅ཧ
    νʔϜ։ൃͷ໰୊

    View Slide

  31. 8PSE1SFTTͷσϓϩΠʢ࠶ܝʣ
    σϓϩΠର৅
    WordPress ίΞ
    ςʔϚϑΝΠϧ
    ϓϥάΠϯ
    ϝσΟΞ
    σʔλϕʔε

    View Slide

  32. 8PSE1SFTTͷσϓϩΠʢ࠶ܝʣ
    σϓϩΠର৅ ՝୊
    WordPress ίΞ όʔδϣϯΞοϓݕূ
    ςʔϚϑΝΠϧ εϥΠμʔ࣮૷
    ϓϥάΠϯ ϝʔϧςϯϓϨʔτ

    ಠࣗϓϥάΠϯ
    ϝσΟΞ εϥΠμʔը૾
    σʔλϕʔε ݻఆϖʔδ

    ΧελϜϑΟʔϧυ

    View Slide

  33. 8PSE1SFTTͷσϓϩΠʢ࠶ܝʣ
    σϓϩΠର৅ ՝୊ ղܾࡦ
    WordPress ίΞ όʔδϣϯΞοϓݕূ Git؅ཧ
    ςʔϚϑΝΠϧ εϥΠμʔ࣮૷ Git؅ཧʢલ൒ͷ͓࿩ʣ
    ϓϥάΠϯ ϝʔϧςϯϓϨʔτ

    ಠࣗϓϥάΠϯ
    Git؅ཧ
    ϝσΟΞ εϥΠμʔը૾ Git؅ཧ or Ϋϥ΢υڞ༗
    σʔλϕʔε ݻఆϖʔδ

    ΧελϜϑΟʔϧυ
    Git؅ཧ or αʔόڞ༗

    View Slide

  34. ͦΕͧΕͷৄࡉ
    ʢ՝୊ͱղܾࡦʣ

    View Slide

  35. ໰୊
    ݹ͍όʔδϣϯ΁ͷ։ൃ΍௕͍อकΛߦ͏αΠτ
    όʔδϣϯ͝ͱͷҧ͍ʹΑΔݕূ͕ඞཁ
    ղܾࡦ౳
    ຊମϑΝΠϧΛ(JUʹؚΊΔ
    όουϊ΢ϋ΢ͱ͞ΕΔ͜ͱ΋͋Δ
    ݴޠϑΝΠϧͷߋ৽͕ଟ͍
    8PSE1SFTTຊମ

    View Slide

  36. ςʔϚʹ͍ͭͯ͸লུ

    View Slide

  37. ղܾࡦ
    ࠷খͷϓϥάΠϯʢ։ൃର৅ʣؚ͚ͩΊΔ
    ؅ཧָ͕ʹͳΔ
    ͢΂ͯͷϓϥάΠϯΛؚΊΔ
    ґଘؔ܎ʢ8PP$PNNFSDF౳ʣ͕ղফͰ͖Δ
    ςʔϚͷ؅ཧʹ͍ۙͨΊൺֱత؅ཧ͠΍͍͢
    ϓϥάΠϯ

    View Slide

  38. ໰୊఺
    ϝσΟΞ͕౰͍ͨͬͯͳ͍ͱઌํ֬ೝ͕
    ਏ͍
    $44ͰͷζϨ໰୊
    ղܾࡦ
    ϑΝΠϧ਺͕গͳ͍ͷͰ͋Ε͹(JU؅ཧ
    ϑΝΠϧ਺͕ଟ͍৔߹ʹ͸Ϋϥ΢υڞ༗
    810⒐PBE.FEJB-JUFGPS
    "NB[PO4
    ϝσΟΞ

    View Slide

  39. ໰୊఺
    ݻఆϖʔδ͕มΘͬͯ͠·͏
    *%ࢦఆ͕؀ڥʹΑͬͯมΘΔ
    άϩφϏ౳ͷϝχϡʔ൓ө͕͞Εͳ͍
    σʔλೖߘ΁ͷରԠ͕஗ΕΔ
    ղܾࡦ
    %#ͷ(JU؅ཧ
    εςʔδϯάΛڞ༻؀ڥͱ͠ɺ͔ͦ͜Βμ΢ϯϩʔυ͢Δ
    σʔλϕʔε

    View Slide

  40. ࢀߟ
    - WordPressͷςʔϚ΍ϓϥάΠϯ։ൃͰͦͷ಺
    ༰ΛGitHub ActionsΛ࢖ͬͯΤοΫεαʔόʹ
    ࣗಈσϓϩΠ͢Δ


    https://qiita.com/yousan/items/
    eb00ecf8ed8ea031cb6b

    - ࣗಈσϓϩΠͰ໨ࢦ͢ޮ཰తͳ։ൃ

    https://qiita.com/yousan/items/
    7d0c59229071bd0efeda

    View Slide

  41. ·ͱΊ

    View Slide

  42. ·ͣ͸ςʔϚͷ(JU؅ཧɺ͍࣍ͰࣗಈσϓϩΠ
    ͞ΒʹνʔϜ։ൃͷͨΊʹϓϥάΠϯɺຊମɺϝσΟΞɺ
    %#ΛࣗಈσϓϩΠͰ؅ཧ͢Δ
    ·ͱΊ

    View Slide

  43. ࠓ೔͓఻͍͑ͨ͜͠ͱ
    σϓϩΠ࣌ͷ໰୊఺ͷվળ
    νʔϜ։ൃͷ໰୊఺Λվળ
    Έͳ͞Μͷ։ൃɺνʔϜ։ൃָ͕͘͠ͳΔ

    View Slide

  44. ྑ͍։ൃɺྑ͍νʔϜ։ൃΛ
    ͓ա͍ͩ͘͝͠͞

    View Slide

  45. ͝ਗ਼ௌ
    ͋Γ͕ͱ͏͍͟͝·ͨ͠

    View Slide