Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Gitlab-RunnerからDockerコンテナを起動して テストする構成を用意した
Aipa
August 27, 2021
Technology
0
82
Gitlab-RunnerからDockerコンテナを起動して テストする構成を用意した
やらないほうが良い構成なので注意
Aipa
August 27, 2021
Tweet
Share
More Decks by Aipa
See All by Aipa
pyconjp 2021 振り返り
commander_aipa
0
27
ジュラシック・アイパー 2022 怒りのデスフライト
commander_aipa
0
110
(せーのっ)「いますぐはじめるえむえるおぷす」
commander_aipa
0
120
#club_家庭菜園_進捗報告LT
commander_aipa
0
40
サーバーレスピタゴラスイッチ
commander_aipa
0
22
BigQueryで金を溶かさない知識
commander_aipa
0
360
mlflowをwindowsで起動するのはめんどくさい
commander_aipa
0
650
ゾンビでわかる分類評価指標
commander_aipa
1
110
LT作成を手伝った話(愚痴)
commander_aipa
0
590
Other Decks in Technology
See All in Technology
The Fractal Geometry of Software Design
vladikk
1
1.4k
【Pythonデータ分析勉強会#33】「DearPyGuiに入門しました」の続き~Image-Processing-Node-Editor~
kazuhitotakahashi
0
200
【toranoana.deno#7】Denoからwasmを呼び出す基礎
toranoana
0
140
誰が正解を知っているのか / Who knows the right answer
takaking22
1
250
俺の Laravel がこんなに速いわけがない! / My Laravel Too Fast
hanhan1978
0
120
220628 「Google AppSheet」タスク管理アプリをライブ作成 吉積情報伊藤さん
comucal
PRO
0
260
Custom AppをIP制限ありのままで審査に通す方法
yusuga
0
710
SlackBotで あらゆる業務を自動化。問い合わせ〜DevOpsまで #CODT2022
kogatakanori
0
1k
DOM Invader - prototype pollution対応の衝撃 - / DOM Invader - prototype pollution
okuken
0
170
Twitter Botを作ってカスタマイズとトラブルシュートをした話
amarelo_n24
1
120
Power AutomateでのAdaptive Cards
miyakemito
1
660
ノーコードで Stripeを使いこなす3つの方法 / jp-stripes-online-vol-4
stripehideokamoto
0
320
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
655
120k
What's new in Ruby 2.0
geeforr
336
30k
Principles of Awesome APIs and How to Build Them.
keavy
113
15k
How to name files
jennybc
40
61k
VelocityConf: Rendering Performance Case Studies
addyosmani
316
22k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
29
4.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
7
1.1k
A Philosophy of Restraint
colly
192
15k
The Power of CSS Pseudo Elements
geoffreycrofte
47
3.9k
Rebuilding a faster, lazier Slack
samanthasiow
62
7.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
212
20k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_i
23
15k
Transcript
ͪΌΜΔʔͱʔ͘ ΞΠύʔୂ 2021/07/30
ࣗݾհ
ࣗݾհ • ΞΠύʔʢAipaʣୂʢຬ31ࡀʣ • ͪΎΒσʔλגࣜձࣾ • ৭ʑΔਓͰ͢ • ࠷ۙVue.jsͱҟৗݕษڧ͍ͯ͠·͢ •
ΰδϥ͕͖Ͱ͢
ࠓ͢͜ͱ
ࠓ͢͜ͱ ↑ΨΠΨϯ
ࠓ͢͜ͱ ʘDockerΝΞΞΞΞΞΞΞΞΞʂىಈʂʂʂʗ ʢ͠ͳ͍ʣ
ࠓ͢͜ͱʢਅ໘ʣ • VueΛCIڥͰE2EςετͰ͖ΔڥΛ༻ҙ͠ ͍ͨ • Gitlab-Runner͔ΒDockerίϯςφΛىಈͯ͠ ςετ͢ΔߏΛ༻ҙͨ͠ • ϋϚͬͨͷͰݟڞ༗
ߏʹ͍ͭͯ
ߏʹ͍ͭͯ Gitlab Gitlab Runner ΅ͨͪ͘ %PDLFSEFBNPO
CI ࣮ߦϑϩʔ
CI࣮ߦϑϩʔ Gitlab ΅ͨͪ͘ $ git push Gitlab Runner %PDLFSEFBNPO
Gitlab ΅ͨͪ͘ ʮgit pushʯΛtriggerʹ pipelineɾjobىಈ Gitlab Runner CI࣮ߦϑϩʔ %PDLFSEFBNPO
Gitlab ΅ͨͪ͘ Gitlab Runner %PDLFSEFBNPO CI࣮ߦϑϩʔ Docker-compose ίϯςφىಈ Docker compose
Gitlab ΅ͨͪ͘ $ git clone CI࣮ߦϑϩʔ Gitlab Runner %PDLFSEFBNPO Docker
compose
Gitlab ΅ͨͪ͘ Gitlab Runner CI࣮ߦϑϩʔ Docker compose $ docker-compose up
%PDLFSEFBNPO
Gitlab ΅ͨͪ͘ Gitlab Runner CI࣮ߦϑϩʔ Docker compose ςετ࣮ߦத %PDLFSEFBNPO
Gitlab ΅ͨͪ͘ Gitlab Runner CI࣮ߦϑϩʔ Docker compose ςετͷ݁ՌΛฦ͢ %PDLFSEFBNPO
Gitlab ΅ͨͪ͘ Gitlab Runner CI࣮ߦϑϩʔ 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/
)PTU Gitlab ΅ͨͪ͘ Gitlab Runner %PDLFSEFBNPO ͭ·Γʁ CJOENPVOU WBSSVOEPDLFSTPDL WBSSVOEPDLFSTPDL
Gitlab ΅ͨͪ͘ Gitlab Runner %PDLFSEFBNPO ͭ·Γʁ WBSSVOEPDLFSTPDL Docker-compose ίϯςφىಈ )PTU
WBSSVOEPDLFSTPDL
Gitlab ΅ͨͪ͘ Gitlab Runner %PDLFSEFBNPO ͭ·Γʁ WBSSVOEPDLFSTPDL Docker-compose ίϯςφىಈ )PTU
WBSSVOEPDLFSTPDL Docker compose
Gitlab ΅ͨͪ͘ Gitlab Runner %PDLFSEFBNPO ͞Βʹʁ )PTU WBSSVOEPDLFSTPDL Docker compose
WBSSVOEPDLFSTPDL CJOENPVOU
Gitlab ΅ͨͪ͘ Gitlab Runner %PDLFSEFBNPO ͞Βʹʁ $ docker-compose up )PTU
WBSSVOEPDLFSTPDL Docker compose WBSSVOEPDLFSTPDL
Gitlab ΅ͨͪ͘ Gitlab Runner %PDLFSEFBNPO ͞Βʹʁ $ docker-compose up )PTU
WBSSVOEPDLFSTPDL Docker compose WBSSVOEPDLFSTPDL CJOENPVOU
Dockerίϯςφ͔ΒίϯςφΛ ىಈ͢Δ͜ͱ͕Ͱ͖·ͨ͠ ىಈͨͥ͠ʂʂʂ
ϋϚΓͲ͜Ζ ͙͑͑͑͑
Gitlab ΅ͨͪ͘ Gitlab Runner %PDLFSEFBNPO )PTU Docker compose Ͳ͕ͬͪϦϙδτϦΛclone͍ͯ͠Δʁ ᶃ
ᶄ
Gitlab Runner %PDLFSEFBNPO )PTU Docker compose Ͳ͕ͬͪϦϙδτϦΛclone͍ͯ͠Δʁ ͬͪ͜ Gitlab ΅ͨͪ͘
Gitlab Runner %PDLFSEFBNPO )PTU WPMVNF Docker compose Ͳ͕ͬͪϦϙδτϦΛclone͍ͯ͠Δʁ ͬͪ͜ʹॻ͖ࠐ·ΕΔ WPMVNF
Gitlab ΅ͨͪ͘
Gitlab Runner %PDLFSEFBNPO )PTU WPMVNF Docker compose ϋϚΓϙΠϯτ ͬͪ͜ʹॻ͖ࠐ·ΕΔ WPMVNF
Gitlab ΅ͨͪ͘ $ docker-compose up WPMVNF WPMVNF ͬͪ͜ ʹͳ͍ ͬͪ͜ʹ ͳ͍ ͬͪ͜ʹͳ͍ ϓϩδΣΫτͷ ιʔείʔυʁ ɾТɾʆ ʁ
Gitlab Runner %PDLFSEFBNPO )PTU WPMVNF Docker compose ϋϚΓϙΠϯτ ͬͪ͜ʹॻ͖ࠐ·ΕΔ WPMVNF
Gitlab ΅ͨͪ͘ $ docker-compose up WPMVNF WPMVNF ͬͪ͜ ʹͳ͍ ͬͪ͜ʹ ͳ͍ ͬͪ͜ʹͳ͍ ϓϩδΣΫτͷ ιʔείʔυʁ ɾТɾʆ ʁ ಈ͔ͳ͍
Gitlab Runner %PDLFSEFBNPO )PTU WPMVNF Docker compose Ϛϯτ͢Ε͑͑Μ WPMVNF Gitlab
΅ͨͪ͘ $ docker-compose up WPMVNF WPMVNF ͍ͭͷ W QXE CVJMETHSPVQQSPKFDU
Gitlab Runner %PDLFSEFBNPO )PTU WPMVNF Docker compose Ϛϯτ͢Ε͑͑Μ WPMVNF Gitlab
΅ͨͪ͘ $ docker-compose up WPMVNF WPMVNF ͍ͭͷ W QXE CVJMETHSPVQQSPKFDU ͬͪ͜ʹͳ͍ ϓϩδΣΫτͷ ιʔείʔυʁ ɾТɾʆ ʁ
Gitlab Runner %PDLFSEFBNPO )PTU WPMVNF Docker compose Ϛϯτ͢Ε͑͑Μ WPMVNF Gitlab
΅ͨͪ͘ $ docker-compose up WPMVNF WPMVNF ͍ͭͷ W QXE CVJMETHSPVQQSPKFDU ͬͪ͜ʹͳ͍ ϓϩδΣΫτͷ ιʔείʔυʁ ɾТɾʆ ʁ ಈ͔ͳ͍
༹͚Δΰδϥ࣌ؒ
Gitlab Runner %PDLFSEFBNPO )PTU WPMVNF Docker compose ͳͥʁʁʁ WPMVNF Gitlab
΅ͨͪ͘ $ docker-compose up CVJMETHSPVQQSPKFDUCVJMETHSPVQQSPKFDU WPMVNF W QXE CVJMETHSPVQQSPKFDU QXE %PDLFSDPNQPTFίϯςφ্͔Βࢀর ͨ݁͠ՌͷσΟϨΫτϦͰ͋ΔʢͦΕͦ͏ʣ ྫ͑ QXE ˠCVJMETHSPVQQSPKFDUͱ͢Δ ͕ɺϚϯτ͞ΕΔͷϗετଆͷ σΟϨΫτϦύεΛϚϯτ͠Α͏ͱ͢Δ Ϛϯτ͍ͨ͠ͷͬͪ͜ ͦ͏͡Όͳͯ͘ɺϗετͷ CVJMETHSPVQQSPKFDU ΛϚϯτ͠Α͏ͱ͢Δ WPMVNF
Gitlab Runner %PDLFSEFBNPO )PTU WPMVNF Docker compose ϗετϚϯτͨ͠Β͑͑Μʂʂ IPNFVCVOUVBQQ Gitlab
΅ͨͪ͘ $ docker-compose up WPMVNF WPMVNF ྫ͑͜͏
Gitlab Runner %PDLFSEFBNPO )PTU WPMVNF ϗετϚϯτͨ͠Β͑͑Μʂʂ IPNFVCVOUVBQQ Gitlab ΅ͨͪ͘ WPMVNF
WPMVNF $ docker-compose down $ docker-compose rm ʘόΠόΠʗ ʘ·ͨͶʗʘ͡Ό͋ͷʗ ফ͑ͳ͍ ΰϛ͕Δ ଟɺ(JUMBC3VOOFSͷ ઃఆͰͰ͖ΔͬΆ͍͚Ͳ Γ͔͕ͨΘ͔ΒΜɾɾɾ
Gitlab Runner %PDLFSEFBNPO )PTU WPMVNF IPNFVCVOUVBQQ Gitlab ΅ͨͪ͘ 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 )PTU Docker compose ਆͷखॱ Gitlab ΅ͨͪ͘
ࠓͷ+PCͰىಈ͍ͯ͠Δ$POUBJOFSJEΛ୳͢ $POUBJOFSJE͔ΒϚϯτ͍ͯ͠ΔWPMVNF ͷϗετͷσΟϨΫτϦύεΛ୳͢ ͷ݁ՌΛڥมʹೖΕΔ EPDLFSDPNQPTFVQ
Gitlab Runner %PDLFSEFBNPO )PTU Docker compose ਆͷखॱ Gitlab ΅ͨͪ͘
ࠓͷ+PCͰىಈ͍ͯ͠Δ$POUBJOFSJEΛ୳͢ FYQPSU$0/5"*/&3@*%AEPDLFSQTRGlMBCFMDPNHJUMBCHJUMBCSVOOFSKPCJE$*@+0#@*%A
Gitlab Runner %PDLFSEFBNPO )PTU Docker compose ਆͷखॱ Gitlab ΅ͨͪ͘ $POUBJOFSJE͔ΒϚϯτ͍ͯ͠ΔWPMVNFͷϗετͷσΟϨΫτϦύεΛ୳͢
FYQPSU.:@130+&$5@1"5)AEPDLFSJOTQFDUG\\SBOHF.PVOUT^^\\JGFR%FTUJOBUJPOaCVJMETa^^\\4PVSDF^^\\FOE^^\\FOE^^$0/5"*/&3@*%A WPMVNF ͍ͭ͜ͷϗετͷσΟϨΫτϦύεΛऔಘ͢Δ WBSMJCEPDLFSWPMVNFTSVOYYYYYYGCKRYYYYYYYYYDPODVSSFOUYYYYYYYYYYEDYYYYYYYYY@EBUB
Gitlab Runner %PDLFSEFBNPO )PTU Docker compose ਆͷखॱ Gitlab ΅ͨͪ͘ ͷ݁ՌΛڥมʹೖΕΔ
FYQPSU.06/5@1"5)\.:@130+&$5@1"5)^\$*@130+&$5@1"5)^ WPMVNF
Gitlab Runner %PDLFSEFBNPO )PTU Docker compose ਆͷखॱ Gitlab ΅ͨͪ͘ ىಈʂ
EPDLFSDPNQPTFVQ WPMVNF
Gitlab Runner %PDLFSEFBNPO )PTU WPMVNF Docker compose ਆͷखॱ WPMVNF Gitlab
΅ͨͪ͘ $ docker-compose up WPMVNF WPMVNF ϚϯτͰ͖ͨʂʂʂ
Gitlab Runner %PDLFSEFBNPO )PTU WPMVNF Docker compose ਆͷखॱ WPMVNF Gitlab
΅ͨͪ͘ $ docker-compose up WPMVNF WPMVNF ϚϯτͰ͖ͨʂʂʂ Α͔ͬͨͶʙʙʙ
·ͱΊ
·ͱΊ • ർΕͨ • doodΛΕͨ • ߏΛΒͳ͍ͱ࣌ؒΛ༹͔͢ͷͰ·ͣ Ζ͏ • ྑ͍CIϥΠϑΛ
None