やらないほうが良い構成なので注意
ͪΌΜΔʔͱʔ͘ΞΠύʔୂ 2021/07/30
View Slide
ࣗݾհ
ࣗݾհ• ΞΠύʔʢAipaʣୂʢຬ31ࡀʣ• ͪΎΒσʔλגࣜձࣾ• ৭ʑΔਓͰ͢• ࠷ۙVue.jsͱҟৗݕษڧ͍ͯ͠·͢• ΰδϥ͕͖Ͱ͢
ࠓ͢͜ͱ
ࠓ͢͜ͱ↑ΨΠΨϯ
ࠓ͢͜ͱʘDockerΝΞΞΞΞΞΞΞΞΞʂىಈʂʂʂʗʢ͠ͳ͍ʣ
ࠓ͢͜ͱʢਅ໘ʣ• VueΛCIڥͰE2EςετͰ͖ΔڥΛ༻ҙ͍ͨ͠• Gitlab-Runner͔ΒDockerίϯςφΛىಈͯ͠ςετ͢ΔߏΛ༻ҙͨ͠• ϋϚͬͨͷͰݟڞ༗
ߏʹ͍ͭͯ
ߏʹ͍ͭͯGitlabGitlab Runner΅ͨͪ͘ %PDLFSEFBNPO
CI ࣮ߦϑϩʔ
CI࣮ߦϑϩʔGitlab΅ͨͪ͘$ git pushGitlab Runner%PDLFSEFBNPO
Gitlab΅ͨͪ͘ʮgit pushʯΛtriggerʹpipelineɾjobىಈGitlab RunnerCI࣮ߦϑϩʔ%PDLFSEFBNPO
Gitlab΅ͨͪ͘Gitlab Runner%PDLFSEFBNPOCI࣮ߦϑϩʔDocker-composeίϯςφىಈDocker compose
Gitlab΅ͨͪ͘$ git cloneCI࣮ߦϑϩʔGitlab Runner%PDLFSEFBNPODocker compose
Gitlab΅ͨͪ͘Gitlab RunnerCI࣮ߦϑϩʔDocker compose$ docker-compose up%PDLFSEFBNPO
Gitlab΅ͨͪ͘Gitlab RunnerCI࣮ߦϑϩʔDocker composeςετ࣮ߦத%PDLFSEFBNPO
Gitlab΅ͨͪ͘Gitlab RunnerCI࣮ߦϑϩʔDocker composeςετͷ݁ՌΛฦ͢%PDLFSEFBNPO
Gitlab΅ͨͪ͘Gitlab RunnerCI࣮ߦϑϩʔDocker compose$ docker-compose down$ docker-compose rmʘόΠόΠʗʘ·ͨͶʗʘ͡Ό͋ͷʗ%PDLFSEFBNPO
ΈΜͳͷٙʢ༧ʣ
Gitlab΅ͨͪ͘Gitlab Runner%PDLFSEFBNPOٙᶃDocker-composeίϯςφىಈDocker composeίϯςφ͔Βίϯςφىಈʁʁʁ
Gitlab΅ͨͪ͘Gitlab RunnerٙᶄDocker compose$ docker-compose up%PDLFSEFBNPOίϯςφ͔Βίϯςφىಈʁʁʁ
Ͱ͖ΔΜͰ͢
Γํ̎ͭ• 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/
ΠϝʔδҾ༻: Dockerίϯςφ͔ΒDockerΛ͏͜ͱʹ͍ͭͯhttps://esakat.github.io/esakat-blog/posts/docker-in-docker/
)PTUGitlab΅ͨͪ͘Gitlab Runner%PDLFSEFBNPOͭ·ΓʁCJOENPVOUWBSSVOEPDLFSTPDLWBSSVOEPDLFSTPDL
Gitlab΅ͨͪ͘Gitlab Runner%PDLFSEFBNPOͭ·ΓʁWBSSVOEPDLFSTPDLDocker-compose ίϯςφىಈ)PTUWBSSVOEPDLFSTPDL
Gitlab΅ͨͪ͘Gitlab Runner%PDLFSEFBNPOͭ·ΓʁWBSSVOEPDLFSTPDLDocker-compose ίϯςφىಈ)PTUWBSSVOEPDLFSTPDLDocker compose
Gitlab΅ͨͪ͘Gitlab Runner%PDLFSEFBNPO͞Βʹʁ)PTUWBSSVOEPDLFSTPDLDocker composeWBSSVOEPDLFSTPDLCJOENPVOU
Gitlab΅ͨͪ͘Gitlab Runner%PDLFSEFBNPO͞Βʹʁ$ docker-compose up)PTUWBSSVOEPDLFSTPDLDocker composeWBSSVOEPDLFSTPDL
Gitlab΅ͨͪ͘Gitlab Runner%PDLFSEFBNPO͞Βʹʁ$ docker-compose up)PTUWBSSVOEPDLFSTPDLDocker composeWBSSVOEPDLFSTPDLCJOENPVOU
Dockerίϯςφ͔ΒίϯςφΛىಈ͢Δ͜ͱ͕Ͱ͖·ͨ͠ىಈͨͥ͠ʂʂʂ
ϋϚΓͲ͜Ζ͙͑͑͑͑
Gitlab΅ͨͪ͘Gitlab Runner%PDLFSEFBNPO)PTUDocker composeͲ͕ͬͪϦϙδτϦΛclone͍ͯ͠Δʁᶃ ᶄ
Gitlab Runner%PDLFSEFBNPO)PTUDocker composeͲ͕ͬͪϦϙδτϦΛclone͍ͯ͠Δʁͬͪ͜Gitlab΅ͨͪ͘
Gitlab Runner%PDLFSEFBNPO)PTUWPMVNFDocker composeͲ͕ͬͪϦϙδτϦΛclone͍ͯ͠Δʁͬͪ͜ʹॻ͖ࠐ·ΕΔWPMVNFGitlab΅ͨͪ͘
Gitlab Runner%PDLFSEFBNPO)PTUWPMVNFDocker composeϋϚΓϙΠϯτͬͪ͜ʹॻ͖ࠐ·ΕΔWPMVNFGitlab΅ͨͪ͘$ docker-compose upWPMVNF WPMVNFͬͪ͜ʹͳ͍ͬͪ͜ʹͳ͍ͬͪ͜ʹͳ͍ϓϩδΣΫτͷιʔείʔυʁɾТɾʆʁ
Gitlab Runner%PDLFSEFBNPO)PTUWPMVNFDocker composeϋϚΓϙΠϯτͬͪ͜ʹॻ͖ࠐ·ΕΔWPMVNFGitlab΅ͨͪ͘$ docker-compose upWPMVNF WPMVNFͬͪ͜ʹͳ͍ͬͪ͜ʹͳ͍ͬͪ͜ʹͳ͍ϓϩδΣΫτͷιʔείʔυʁɾТɾʆʁಈ͔ͳ͍
Gitlab Runner%PDLFSEFBNPO)PTUWPMVNFDocker composeϚϯτ͢Ε͑͑ΜWPMVNFGitlab΅ͨͪ͘$ docker-compose upWPMVNF WPMVNF͍ͭͷW QXECVJMETHSPVQQSPKFDU
Gitlab Runner%PDLFSEFBNPO)PTUWPMVNFDocker composeϚϯτ͢Ε͑͑ΜWPMVNFGitlab΅ͨͪ͘$ docker-compose upWPMVNF WPMVNF͍ͭͷW QXECVJMETHSPVQQSPKFDUͬͪ͜ʹͳ͍ϓϩδΣΫτͷιʔείʔυʁɾТɾʆʁ
Gitlab Runner%PDLFSEFBNPO)PTUWPMVNFDocker composeϚϯτ͢Ε͑͑ΜWPMVNFGitlab΅ͨͪ͘$ docker-compose upWPMVNF WPMVNF͍ͭͷW QXECVJMETHSPVQQSPKFDUͬͪ͜ʹͳ͍ϓϩδΣΫτͷιʔείʔυʁɾТɾʆʁಈ͔ͳ͍
༹͚Δΰδϥ࣌ؒ
Gitlab Runner%PDLFSEFBNPO)PTUWPMVNFDocker composeͳͥʁʁʁWPMVNFGitlab΅ͨͪ͘$ docker-compose upCVJMETHSPVQQSPKFDUCVJMETHSPVQQSPKFDUWPMVNFW QXECVJMETHSPVQQSPKFDU QXE%PDLFSDPNQPTFίϯςφ্͔Βࢀরͨ݁͠ՌͷσΟϨΫτϦͰ͋ΔʢͦΕͦ͏ʣྫ͑ QXEˠCVJMETHSPVQQSPKFDUͱ͢Δ͕ɺϚϯτ͞ΕΔͷϗετଆͷσΟϨΫτϦύεΛϚϯτ͠Α͏ͱ͢ΔϚϯτ͍ͨ͠ͷͬͪͦ͜͏͡Όͳͯ͘ɺϗετͷCVJMETHSPVQQSPKFDUΛϚϯτ͠Α͏ͱ͢ΔWPMVNF
Gitlab Runner%PDLFSEFBNPO)PTUWPMVNFDocker composeϗετϚϯτͨ͠Β͑͑ΜʂʂIPNFVCVOUVBQQGitlab΅ͨͪ͘$ docker-compose upWPMVNF WPMVNFྫ͑͜͏
Gitlab Runner%PDLFSEFBNPO)PTUWPMVNFϗετϚϯτͨ͠Β͑͑ΜʂʂIPNFVCVOUVBQQGitlab΅ͨͪ͘ WPMVNF WPMVNF$ docker-compose down$ docker-compose rmʘόΠόΠʗʘ·ͨͶʗʘ͡Ό͋ͷʗফ͑ͳ͍ΰϛ͕Δଟɺ(JUMBC3VOOFSͷઃఆͰͰ͖ΔͬΆ͍͚ͲΓ͔͕ͨΘ͔ΒΜɾɾɾ
Gitlab Runner%PDLFSEFBNPO)PTUWPMVNF IPNFVCVOUVBQQGitlab΅ͨͪ͘ WPMVNF WPMVNF$ docker-compose down$ docker-compose rmʘόΠόΠʗʘ·ͨͶʗʘ͡Ό͋ͷʗফ͑ͳ͍ΰϛ͕Δଟɺ(JUMBCSVOOFSͷઃఆͰͰ͖ΔͬΆ͍͚ͲΓ͔͕ͨΘ͔ΒΜɾɾɾΰϛย͚͍ͨ
ωοτͷւΛ͞·ΑͬͯΔͱਆهࣄΛݟ͚ͭ·ͨ͠
https://medium.com/@patrick.winters/mounting-volumes-in-sibling-containers-with-gitlab-ci-534e5edc4035
Gitlab Runner%PDLFSEFBNPO)PTUDocker composeਆͷखॱGitlab΅ͨͪ͘ ࠓͷ+PCͰىಈ͍ͯ͠Δ$POUBJOFSJEΛ୳͢ $POUBJOFSJE͔ΒϚϯτ͍ͯ͠ΔWPMVNFͷϗετͷσΟϨΫτϦύεΛ୳͢ ͷ݁ՌΛڥมʹೖΕΔ EPDLFSDPNQPTFVQ
Gitlab Runner%PDLFSEFBNPO)PTUDocker composeਆͷखॱGitlab΅ͨͪ͘ ࠓͷ+PCͰىಈ͍ͯ͠Δ$POUBJOFSJEΛ୳͢FYQPSU$0/5"*/&3@*%AEPDLFSQTRGlMBCFMDPNHJUMBCHJUMBCSVOOFSKPCJE$*@+0#@*%A
Gitlab Runner%PDLFSEFBNPO)PTUDocker composeਆͷखॱGitlab΅ͨͪ͘$POUBJOFSJE͔ΒϚϯτ͍ͯ͠ΔWPMVNFͷϗετͷσΟϨΫτϦύεΛ୳͢FYQPSU.:@130+&$5@1"5)AEPDLFSJOTQFDUG\\SBOHF.PVOUT^^\\JGFR%FTUJOBUJPOaCVJMETa^^\\4PVSDF^^\\FOE^^\\FOE^^$0/5"*/&3@*%AWPMVNF͍ͭ͜ͷϗετͷσΟϨΫτϦύεΛऔಘ͢ΔWBSMJCEPDLFSWPMVNFTSVOYYYYYYGCKRYYYYYYYYYDPODVSSFOUYYYYYYYYYYEDYYYYYYYYY@EBUB
Gitlab Runner%PDLFSEFBNPO)PTUDocker composeਆͷखॱGitlab΅ͨͪ͘ͷ݁ՌΛڥมʹೖΕΔFYQPSU.06/5@1"5)\.:@130+&$5@1"5)^\$*@130+&$5@1"5)^WPMVNF
Gitlab Runner%PDLFSEFBNPO)PTUDocker composeਆͷखॱGitlab΅ͨͪ͘ىಈʂEPDLFSDPNQPTFVQWPMVNF
Gitlab Runner%PDLFSEFBNPO)PTUWPMVNFDocker composeਆͷखॱWPMVNFGitlab΅ͨͪ͘$ docker-compose upWPMVNF WPMVNFϚϯτͰ͖ͨʂʂʂ
Gitlab Runner%PDLFSEFBNPO)PTUWPMVNFDocker composeਆͷखॱWPMVNFGitlab΅ͨͪ͘$ docker-compose upWPMVNF WPMVNFϚϯτͰ͖ͨʂʂʂΑ͔ͬͨͶʙʙʙ
·ͱΊ
·ͱΊ• ർΕͨ• doodΛΕͨ• ߏΛΒͳ͍ͱ࣌ؒΛ༹͔͢ͷͰ·ͣΖ͏• ྑ͍CIϥΠϑΛ