Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Gitlab-RunnerからDockerコンテナを起動して テストする構成を用意した

Aipa
August 27, 2021

Gitlab-RunnerからDockerコンテナを起動して テストする構成を用意した

やらないほうが良い構成なので注意

Aipa

August 27, 2021
Tweet

More Decks by Aipa

Other Decks in Technology

Transcript

  1. ͪΌΜ΀Δʔͱʔ͘
    ΞΠύʔୂ௕ 2021/07/30

    View Slide

  2. ࣗݾ঺հ

    View Slide

  3. ࣗݾ঺հ
    • ΞΠύʔʢAipaʣୂ௕ʢຬ31ࡀʣ
    • ͪΎΒσʔλגࣜձࣾ
    • ৭ʑ΍ΔਓͰ͢
    • ࠷ۙ͸Vue.jsͱҟৗݕ஌ษڧ͍ͯ͠·͢
    • ΰδϥ͕޷͖Ͱ͢

    View Slide

  4. ࠓ೔࿩͢͜ͱ

    View Slide

  5. ࠓ೔࿩͢͜ͱ
    ↑ΨΠΨϯ

    View Slide

  6. ࠓ೔࿩͢͜ͱ
    ʘDockerΝΞΞΞΞΞΞΞΞΞʂىಈʂʂʂʗ
    ʢ͠ͳ͍ʣ

    View Slide

  7. ࠓ೔࿩͢͜ͱʢਅ໘໨ʣ
    • VueΛCI؀ڥͰE2EςετͰ͖Δ؀ڥΛ༻ҙ͠
    ͍ͨ
    • Gitlab-Runner͔ΒDockerίϯςφΛىಈͯ͠
    ςετ͢Δߏ੒Λ༻ҙͨ͠
    • ϋϚͬͨͷͰ஌ݟڞ༗

    View Slide

  8. ߏ੒ʹ͍ͭͯ

    View Slide

  9. ߏ੒ʹ͍ͭͯ
    Gitlab
    Gitlab Runner
    ΅ͨͪ͘ %PDLFSEFBNPO

    View Slide

  10. CI ࣮ߦϑϩʔ

    View Slide

  11. CI࣮ߦϑϩʔ
    Gitlab
    ΅ͨͪ͘
    $ git push
    Gitlab Runner
    %PDLFSEFBNPO

    View Slide

  12. Gitlab
    ΅ͨͪ͘
    ʮgit pushʯΛtriggerʹ
    pipelineɾjobىಈ
    Gitlab Runner
    CI࣮ߦϑϩʔ
    %PDLFSEFBNPO

    View Slide

  13. Gitlab
    ΅ͨͪ͘
    Gitlab Runner
    %PDLFSEFBNPO
    CI࣮ߦϑϩʔ
    Docker-compose
    ίϯςφىಈ
    Docker compose

    View Slide

  14. Gitlab
    ΅ͨͪ͘
    $ git clone
    CI࣮ߦϑϩʔ
    Gitlab Runner
    %PDLFSEFBNPO
    Docker compose

    View Slide

  15. Gitlab
    ΅ͨͪ͘
    Gitlab Runner
    CI࣮ߦϑϩʔ
    Docker compose
    $ docker-compose up
    %PDLFSEFBNPO

    View Slide

  16. Gitlab
    ΅ͨͪ͘
    Gitlab Runner
    CI࣮ߦϑϩʔ
    Docker compose
    ςετ࣮ߦத
    %PDLFSEFBNPO

    View Slide

  17. Gitlab
    ΅ͨͪ͘
    Gitlab Runner
    CI࣮ߦϑϩʔ
    Docker compose
    ςετͷ݁ՌΛฦ͢
    %PDLFSEFBNPO

    View Slide

  18. Gitlab
    ΅ͨͪ͘
    Gitlab Runner
    CI࣮ߦϑϩʔ
    Docker compose
    $ docker-compose down
    $ docker-compose rm
    ʘόΠόΠʗ
    ʘ·ͨͶʗʘ͡Ό͋ͷʗ
    %PDLFSEFBNPO

    View Slide

  19. ΈΜͳͷٙ໰ʢ༧૝ʣ

    View Slide

  20. Gitlab
    ΅ͨͪ͘
    Gitlab Runner
    %PDLFSEFBNPO
    ٙ໰ᶃ
    Docker-compose
    ίϯςφىಈ
    Docker compose
    ίϯςφ͔Βίϯςφىಈʁʁʁ

    View Slide

  21. Gitlab
    ΅ͨͪ͘
    Gitlab Runner
    ٙ໰ᶄ
    Docker compose
    $ docker-compose up
    %PDLFSEFBNPO
    ίϯςφ͔Βίϯςφىಈʁʁʁ

    View Slide

  22. Ͱ͖ΔΜͰ͢

    View Slide

  23. ΍Γํ͸̎ͭ
    • Docker in Dockerʢdindʣ
    • Dockerίϯςφ಺͔ΒDockerΛ࢖͏
    • Docker outside of Docker (dood)
    • Dockerίϯςφىಈ࣌ʹϗετͷDocker deamonͷ
    socket fileΛϚ΢ϯτͯ͠ɺϗετͷDocker deamonͱ΍
    ΓऔΓͰ͖ΔΑ͏ʹ͢Δ
    • ͙͙ͬͯΈΔͱͬͪ͜ͷ΄͏͕Gitlab-runnerʹ͸͍͋ͬͯ
    ΔΑ͏ͳͷͰͬͪ͜ʹͨ͠
    • https://jpetazzo.github.io/2015/09/03/do-not-use-
    docker-in-docker-for-ci/

    View Slide

  24. Πϝʔδ
    Ҿ༻: Dockerίϯςφ಺͔ΒDockerΛ࢖͏͜ͱʹ͍ͭͯ
    https://esakat.github.io/esakat-blog/posts/docker-in-docker/

    View Slide

  25. )PTU
    Gitlab
    ΅ͨͪ͘
    Gitlab Runner
    %PDLFSEFBNPO
    ͭ·Γʁ
    CJOENPVOU
    WBSSVOEPDLFSTPDL
    WBSSVOEPDLFSTPDL

    View Slide

  26. Gitlab
    ΅ͨͪ͘
    Gitlab Runner
    %PDLFSEFBNPO
    ͭ·Γʁ
    WBSSVOEPDLFSTPDL
    Docker-compose ίϯςφىಈ
    )PTU
    WBSSVOEPDLFSTPDL

    View Slide

  27. Gitlab
    ΅ͨͪ͘
    Gitlab Runner
    %PDLFSEFBNPO
    ͭ·Γʁ
    WBSSVOEPDLFSTPDL
    Docker-compose ίϯςφىಈ
    )PTU
    WBSSVOEPDLFSTPDL
    Docker compose

    View Slide

  28. Gitlab
    ΅ͨͪ͘
    Gitlab Runner
    %PDLFSEFBNPO
    ͞Βʹʁ
    )PTU
    WBSSVOEPDLFSTPDL
    Docker compose
    WBSSVOEPDLFSTPDL
    CJOENPVOU

    View Slide

  29. Gitlab
    ΅ͨͪ͘
    Gitlab Runner
    %PDLFSEFBNPO
    ͞Βʹʁ
    $ docker-compose up
    )PTU
    WBSSVOEPDLFSTPDL
    Docker compose
    WBSSVOEPDLFSTPDL

    View Slide

  30. Gitlab
    ΅ͨͪ͘
    Gitlab Runner
    %PDLFSEFBNPO
    ͞Βʹʁ
    $ docker-compose up
    )PTU
    WBSSVOEPDLFSTPDL
    Docker compose
    WBSSVOEPDLFSTPDL
    CJOENPVOU

    View Slide

  31. Dockerίϯςφ͔ΒίϯςφΛ
    ىಈ͢Δ͜ͱ͕Ͱ͖·ͨ͠
    ىಈͨͥ͠ʂʂʂ

    View Slide

  32. ϋϚΓͲ͜Ζ
    ͙͑͑͑͑

    View Slide

  33. Gitlab
    ΅ͨͪ͘
    Gitlab Runner
    %PDLFSEFBNPO
    )PTU
    Docker compose
    Ͳ͕ͬͪϦϙδτϦΛclone͍ͯ͠Δʁ
    ᶃ ᶄ

    View Slide

  34. Gitlab Runner
    %PDLFSEFBNPO
    )PTU
    Docker compose
    Ͳ͕ͬͪϦϙδτϦΛclone͍ͯ͠Δʁ
    ͬͪ͜
    Gitlab
    ΅ͨͪ͘

    View Slide

  35. Gitlab Runner
    %PDLFSEFBNPO
    )PTU
    WPMVNF
    Docker compose
    Ͳ͕ͬͪϦϙδτϦΛclone͍ͯ͠Δʁ
    ͬͪ͜ʹॻ͖ࠐ·ΕΔ
    WPMVNF
    Gitlab
    ΅ͨͪ͘

    View Slide

  36. Gitlab Runner
    %PDLFSEFBNPO
    )PTU
    WPMVNF
    Docker compose
    ϋϚΓϙΠϯτ
    ͬͪ͜ʹॻ͖ࠐ·ΕΔ
    WPMVNF
    Gitlab
    ΅ͨͪ͘
    $ docker-compose up
    WPMVNF WPMVNF
    ͬͪ͜
    ʹ͸ͳ͍
    ͬͪ͜ʹ
    ΋͸ͳ͍
    ͬͪ͜ʹ͸ͳ͍
    ϓϩδΣΫτͷ
    ιʔείʔυ͸ʁ
    ɾТɾʆ
    ʁ

    View Slide

  37. Gitlab Runner
    %PDLFSEFBNPO
    )PTU
    WPMVNF
    Docker compose
    ϋϚΓϙΠϯτ
    ͬͪ͜ʹॻ͖ࠐ·ΕΔ
    WPMVNF
    Gitlab
    ΅ͨͪ͘
    $ docker-compose up
    WPMVNF WPMVNF
    ͬͪ͜
    ʹ͸ͳ͍
    ͬͪ͜ʹ
    ΋͸ͳ͍
    ͬͪ͜ʹ͸ͳ͍
    ϓϩδΣΫτͷ
    ιʔείʔυ͸ʁ
    ɾТɾʆ
    ʁ
    ಈ͔ͳ͍

    View Slide

  38. Gitlab Runner
    %PDLFSEFBNPO
    )PTU
    WPMVNF
    Docker compose
    Ϛ΢ϯτ͢Ε͹͑͑΍Μ
    WPMVNF
    Gitlab
    ΅ͨͪ͘
    $ docker-compose up
    WPMVNF WPMVNF
    ͍ͭ΋ͷ
    W QXE
    CVJMETHSPVQQSPKFDU

    View Slide

  39. Gitlab Runner
    %PDLFSEFBNPO
    )PTU
    WPMVNF
    Docker compose
    Ϛ΢ϯτ͢Ε͹͑͑΍Μ
    WPMVNF
    Gitlab
    ΅ͨͪ͘
    $ docker-compose up
    WPMVNF WPMVNF
    ͍ͭ΋ͷ
    W QXE
    CVJMETHSPVQQSPKFDU
    ͬͪ͜ʹ͸ͳ͍
    ϓϩδΣΫτͷ
    ιʔείʔυ͸ʁ
    ɾТɾʆ
    ʁ

    View Slide

  40. Gitlab Runner
    %PDLFSEFBNPO
    )PTU
    WPMVNF
    Docker compose
    Ϛ΢ϯτ͢Ε͹͑͑΍Μ
    WPMVNF
    Gitlab
    ΅ͨͪ͘
    $ docker-compose up
    WPMVNF WPMVNF
    ͍ͭ΋ͷ
    W QXE
    CVJMETHSPVQQSPKFDU
    ͬͪ͜ʹ͸ͳ͍
    ϓϩδΣΫτͷ
    ιʔείʔυ͸ʁ
    ɾТɾʆ
    ʁ
    ಈ͔ͳ͍

    View Slide

  41. ༹͚Δΰδϥ࣌ؒ

    View Slide

  42. Gitlab Runner
    %PDLFSEFBNPO
    )PTU
    WPMVNF
    Docker compose
    ͳͥʁʁʁ
    WPMVNF
    Gitlab
    ΅ͨͪ͘
    $ docker-compose up
    CVJMETHSPVQQSPKFDUCVJMETHSPVQQSPKFDU
    WPMVNF
    W QXE
    CVJMETHSPVQQSPKFDU
    QXE
    ͸%PDLFSDPNQPTFίϯςφ্͔Βࢀর
    ͨ݁͠ՌͷσΟϨΫτϦͰ͋ΔʢͦΕ͸ͦ͏ʣ
    ྫ͑͹ QXE
    ˠCVJMETHSPVQQSPKFDUͱ͢Δ
    ͕ɺϚ΢ϯτ͞ΕΔͷ͸ϗετଆͷ
    σΟϨΫτϦύεΛϚ΢ϯτ͠Α͏ͱ͢Δ
    Ϛ΢ϯτ͍ͨ͠ͷ͸ͬͪ͜
    ͦ͏͡Όͳͯ͘ɺϗετͷ
    CVJMETHSPVQQSPKFDU
    ΛϚ΢ϯτ͠Α͏ͱ͢Δ
    WPMVNF

    View Slide

  43. Gitlab Runner
    %PDLFSEFBNPO
    )PTU
    WPMVNF
    Docker compose
    ϗετϚ΢ϯτͨ͠Β͑͑΍Μʂʂ
    IPNFVCVOUVBQQ
    Gitlab
    ΅ͨͪ͘
    $ docker-compose up
    WPMVNF WPMVNF
    ྫ͑͹͜͏

    View Slide

  44. Gitlab Runner
    %PDLFSEFBNPO
    )PTU
    WPMVNF
    ϗετϚ΢ϯτͨ͠Β͑͑΍Μʂʂ
    IPNFVCVOUVBQQ
    Gitlab
    ΅ͨͪ͘ WPMVNF WPMVNF
    $ docker-compose down
    $ docker-compose rm
    ʘόΠόΠʗ
    ʘ·ͨͶʗʘ͡Ό͋ͷʗ
    ফ͑ͳ͍
    ΰϛ͕࢒Δ
    ଟ෼ɺ(JUMBC3VOOFSͷ
    ઃఆͰͰ͖ΔͬΆ͍͚Ͳ
    ΍Γ͔͕ͨΘ͔ΒΜɾɾɾ

    View Slide

  45. Gitlab Runner
    %PDLFSEFBNPO
    )PTU
    WPMVNF IPNFVCVOUVBQQ
    Gitlab
    ΅ͨͪ͘ WPMVNF WPMVNF
    $ docker-compose down
    $ docker-compose rm
    ʘόΠόΠʗ
    ʘ·ͨͶʗʘ͡Ό͋ͷʗ
    ফ͑ͳ͍
    ΰϛ͕࢒Δ
    ଟ෼ɺ(JUMBCSVOOFSͷઃ
    ఆͰͰ͖ΔͬΆ͍͚Ͳ΍
    Γ͔͕ͨΘ͔ΒΜɾɾɾ
    ΰϛ͸ย෇͚͍ͨ

    View Slide

  46. ωοτͷւΛ͞·ΑͬͯΔͱ
    ਆهࣄΛݟ͚ͭ·ͨ͠

    View Slide

  47. https://medium.com/@patrick.winters/mounting-volumes-in-sibling-containers-with-gitlab-ci-534e5edc4035

    View Slide

  48. Gitlab Runner
    %PDLFSEFBNPO
    )PTU
    Docker compose
    ਆͷखॱ
    Gitlab
    ΅ͨͪ͘
    ࠓͷ+PCͰىಈ͍ͯ͠Δ$POUBJOFSJEΛ୳͢
    $POUBJOFSJE͔ΒϚ΢ϯτ͍ͯ͠ΔWPMVNF
    ͷϗετͷσΟϨΫτϦύεΛ୳͢
    ͷ݁ՌΛ؀ڥม਺ʹೖΕΔ
    EPDLFSDPNQPTFVQ

    View Slide

  49. Gitlab Runner
    %PDLFSEFBNPO
    )PTU
    Docker compose
    ਆͷखॱ
    Gitlab
    ΅ͨͪ͘
    ࠓͷ+PCͰىಈ͍ͯ͠Δ$POUBJOFSJEΛ୳͢
    FYQPSU$0/5"*/&[email protected]*%AEPDLFSQTRGlMBCFMDPNHJUMBCHJUMBCSVOOFSKPCJE$*@+0#@*%A

    View Slide

  50. Gitlab Runner
    %PDLFSEFBNPO
    )PTU
    Docker compose
    ਆͷखॱ
    Gitlab
    ΅ͨͪ͘
    $POUBJOFSJE͔ΒϚ΢ϯτ͍ͯ͠ΔWPMVNFͷϗετͷσΟϨΫτϦύεΛ୳͢
    FYQPSU.:@130+&[email protected]"5)AEPDLFSJOTQFDUG\\SBOHF.PVOUT^^\\JGFR%FTUJOBUJPOaCVJMETa^^\\4PVSDF^^\\FOE^^\\FOE^^$0/5"*/&[email protected]*%A
    WPMVNF
    ͍ͭ͜ͷϗετͷσΟϨΫτϦύεΛऔಘ͢Δ
    WBSMJCEPD[email protected]EBUB

    View Slide

  51. Gitlab Runner
    %PDLFSEFBNPO
    )PTU
    Docker compose
    ਆͷखॱ
    Gitlab
    ΅ͨͪ͘
    ͷ݁ՌΛ؀ڥม਺ʹೖΕΔ
    FYQPSU.06/[email protected]"5)\.:@130+&[email protected]"5)^\$*@130+&[email protected]"5)^
    WPMVNF

    View Slide

  52. Gitlab Runner
    %PDLFSEFBNPO
    )PTU
    Docker compose
    ਆͷखॱ
    Gitlab
    ΅ͨͪ͘
    ىಈʂ
    EPDLFSDPNQPTFVQ
    WPMVNF

    View Slide

  53. Gitlab Runner
    %PDLFSEFBNPO
    )PTU
    WPMVNF
    Docker compose
    ਆͷखॱ
    WPMVNF
    Gitlab
    ΅ͨͪ͘
    $ docker-compose up
    WPMVNF WPMVNF
    Ϛ΢ϯτͰ͖ͨʂʂʂ

    View Slide

  54. Gitlab Runner
    %PDLFSEFBNPO
    )PTU
    WPMVNF
    Docker compose
    ਆͷखॱ
    WPMVNF
    Gitlab
    ΅ͨͪ͘
    $ docker-compose up
    WPMVNF WPMVNF
    Ϛ΢ϯτͰ͖ͨʂʂʂ
    Α͔ͬͨͶʙʙʙ

    View Slide

  55. ·ͱΊ

    View Slide

  56. ·ͱΊ
    • ർΕͨ
    • doodΛ஌Εͨ
    • ߏ੒Λ஌Βͳ͍ͱ࣌ؒΛ༹͔͢ͷͰ·ͣ͸஌
    Ζ͏
    • ྑ͍CIϥΠϑΛ

    View Slide

  57. View Slide