Slide 1

Slide 1 text

ଵຫͳ͋ͳͨͷͨΊͷ %PDLFS$PNQPTF "3$"/".FFUVQ !KVNQZPTIJN+VNQFJ:PTIJNVSB

Slide 2

Slide 2 text

͓લ୭Α • ٢ଜ५ฏʢ@jumpyoshimʣ • גࣜձࣾΞΠϦοδॴଐ • αʔόʔαΠυΤϯδχΞ • εϚϗΞϓϦͷόοΫΤϯυ։ൃ • Python, Django, GitLab, Docker, AWS

Slide 3

Slide 3 text

ϓϩάϥϚʔͷࡾେඒಙ ଵຫʢ-B[JOFTTʣ ୹ؾʢ*NQBUJFODFʣ ၗຫʢ)VCSJTʣ ʮϓϩάϥϚʔʹ͸ɺ࣍ͷඒಙ͕ઈରʹඞཁͰ͢ɻ͜ͷඒಙͷҰͭͰ΋ܽ͘ਓ͸ɺ ϓϩάϥϚʔͱͳͬͯ͸͍͚·ͤΜɻ·ͨɺ͜ΕΒͷඒಙΛ͍͍ܽͯΔʹ΋ؔΘ ΒͣϓϩάϥϚʔͱ͍͏৬ۀʹब͍ͯ͠·ͬͨਓ͸ɺࠓ͙͢స৬Λߟ͑·͠ΐ͏ɻ ͦΕ͘Β͍ॏཁͳඒಙͰ͢ɻʯ https://tech.nikkeibp.co.jp/it/article/Watcher/20061005/250057/ PerlͷੜΈͷ਌ϥϦʔɾ΢Υʔϧࢯ͕ఆٛ

Slide 4

Slide 4 text

ଵຫʢ-B[JOFTTʣ ʮશମͷ࿑ྗΛݮΒͨ͢ΊʹखؒΛ੯͠·ͳ͍ؾ࣭ɻ͜ͷؾ࣭ͷ࣋ͪओ͸ɺ໾ཱ ͭϓϩάϥϜΛॻ͍ͯΈΜͳͷۤ࿑ΛݮΒͨ͠Γɺಉ࣭͡໰ʹԿ౓΋౴͑ͳͯ͘ ΋͍͍Α͏ʹจॻΛॻ͍ͨΓ͢ΔɻΑͬͯɺϓϩάϥϚʔͷୈҰͷඒಙͰ͋Δɻʯ https://tech.nikkeibp.co.jp/it/article/Watcher/20061005/250057/ ὎ίϯςφԽɺ$*$% ΞϓϦέʔγϣϯ։ൃʹ͓͚Δ

Slide 5

Slide 5 text

ίϯςφٕज़ΛͱΓ·͘ಈ޲ ʮαʔϏεͷίϯςφԽͱ͍͏ͷ͸͜͜਺೥ͷWebۀք ͷҰେτϨϯυͱ͍͏͔׬શʹҰൠԽ͖͍ͯͯ͠·͢ɻʯ ʮϩʔΧϧ؀ڥͰͷςετ΍ɺCI্Ͱͷςετʹؔͯ͠ ΋DockerΛ࢖༻͢Δ͜ͱ͕౰વͷྲྀΕͷΑ͏ʹͳ͖ͬͯ ͍ͯ·͢ɻʯ ʮίϯςφԽͨ͠ΞϓϦέʔγϣϯΛ׆༻͢ΔΫϥ΢ υωΠςΟϒͷྲྀΕ͕ਐߦ͍ͯ͠·͢ɻʢதུʣΠϯ ϑϥΛҙࣝͤͣɺιϑτ΢ΣΞ΍αʔϏεͷ։ൃʹू த͢Δ͜ͱ͕Ͱ͖ɺ݁Ռͱͯ͠ߴ඼࣭ͳαʔϏεΛఏ ڙͰ͖Δػձ͕ߴ·Γͭͭ͋Δͱ͍͑ΔͰ͠ΐ͏ɻʯ ʮ2018೥ͷ࠷ઌ୺όοΫΤϯυΤϯδχΞʹ ඞཁͳεΩϧʹ͍ͭͯߟ͑ͯΈ·ͨ͠ɻʯ 2330͍͍Ͷʢ2018/10/25࣌఺ʣ https://qiita.com/poly_soft/items/7cce0fb45195575921ae

Slide 6

Slide 6 text

ࠓ೔࿩͢͜ͱɾ࿩͞ͳ͍͜ͱ ʮDocker͸։ൃ؀ڥͷߏங͚ͩͰ͸ͳ͘ɺຊ൪؀ڥ ͷσϓϩΠʹ࢖༻͢ΔͱՁ஋͕ग़ͯ͘Δɻ։ൃ࣌ͷ ؀ڥ෼཭͚ͩʹ࢖༻͢ΔͱΦʔόʔϔου΋େ͖͘ɺ ຊ൪؀ڥͱҰக͠ͳ͍ͱ͍͏ܽ఺Λ๊͑ͯ͠·͏ʯ • Docker ComposeΛར༻ͨ͠։ൃ؀ڥߏங ࿩͢͜ͱ ࿩͞ͳ͍͜ͱ • Docker ComposeΛར༻ͨ͠σϓϩΠ • ίϯςφͷCI/CD ※ ։ൃ؀ڥͷΈΛίϯςφԽ͢Δ͜ͱ͸Ұൠతʹλϒʔͱ͞Ε͍ͯ·͢ɻ

Slide 7

Slide 7 text

໨࣍ 3&"%.&Λൺֱ͢Δ %PDLFS$PNQPTFΛར༻ͨ͠։ൃ؀ڥߏஙํ๏ ·ͱΊ ɾ7BHSBOU ɾ%PDLFS ɾ%PDLFS$PNQPTF

Slide 8

Slide 8 text

7BHSBOUΛ࢖͏ͱ͜͏ͳΔ $ vagrant init dev-box $ vagrant up README.md $ mysql -u root > CREATE DATABASE db_dev; $ sudo apt update $ sudo apt install mysql-server python-pip python-dev $ git clone https://github.com/… $ ./manage.py runserver 0.0.0.0:8000 ʢ৬ਓͷखʹΑΔ৬ਓܳʣ ʢ৬ਓͷखʹΑΔ৬ਓܳʣ ʢ৬ਓͷखʹΑΔ৬ਓܳʣ • ৬ਓେ๩͠ • େ఍υΩϡϝϯτ௨Γʹ͍͔ͳ͍ • ຊདྷ΍Γ͍ͨ͜ͱʢ։ൃʣʹ࣌ؒΛׂ͚ͳ͍ ͔֬ʹಉ͡։ൃ؀ڥ͸༻ҙͰ͖Δ͕…

Slide 9

Slide 9 text

%PDLFSΛ࢖͏ͱ͜͏ͳΔ $ cp .env.example .env $ docker build -t db-dev database/ $ docker run —name=db —env-file=.env -itd db-dev $ docker run —name=web —env-file=.env -itd -p 8000:80 nginx:latest $ docker build -t app-dev app/ $ docker run —name=app —env-file=.env -itd app-dev README.md • ίϯϙʔωϯτ͕૿͑Δͨͼʹ build, run ͕ඞཁʹͳΔ • ґଘؔ܎Λҙࣝ͢Δඞཁ͕͋Δʢ࣮ߦॱ͕ҧ͏ͱ͏·͍͔͘ͳ͍έʔε΋…ʣ • ҰͭҰͭͷίϯςφΛ؅ཧ͢Δͷ͸େม ൺֱత؆୯ʹ؀ڥߏஙͰ͖ΔΑ͏ʹͳͬͨ΋ͷͷ…

Slide 10

Slide 10 text

%PDLFS$PNQPTFΛ࢖͏ͱ͜͏ͳΔ $ cp .env.example .env $ docker-compose up README.md • ෳ਺ͷίϯςφΛίϚϯυ1ͭͰىಈͰ͖Δʢ΋ͪΖΜఀࢭ΋ʣ • ίϚϯυ࣮ߦ࣌ʹίϯςφؒͷґଘؔ܎Λҙࣝ͢Δඞཁ͕ͳ͍ • ίϯςφͷߏ੒৘ใ͸CI/CDʹ΋ͦͷ··ར༻Ͱ͖Δ

Slide 11

Slide 11 text

%PDLFS$PNQPTFΛ༻͍ͨ։ൃ؀ڥߏஙํ๏ ؀ڥม਺ϑΝΠϧͷ࡞੒ %PDLFSpMFͷ࡞੒ EPDLFSDPNQPTFZNMͷ࡞੒ https://docs.docker.com/compose/django/ Quickstart: Compose and Django ࣮ࡍͷαϯϓϧΛ֬ೝͯ͠Έ·͠ΐ͏ʂ ※ લఏͱͯ͠ɺઃఆ৘ใΛ؀ڥม਺Խ͓ͯ͘͠ඞཁ͕͋Γ·͢ɻ

Slide 12

Slide 12 text

-BSBWFM#BTJD5BTL-JTU https://github.com/jumpyoshim/quickstart-basic -BSBWFMͷνϡʔτϦΞϧΞϓϦέʔγϣϯΛ%PDLFS$PNQPTFԽͯ͠Έͨ https://laravel.com/docs/5.2/quickstart

Slide 13

Slide 13 text

·ͱΊ https://tech.nikkeibp.co.jp/it/article/Watcher/20061005/250057/ %PDLFS$PNQPTFΛར༻͢Ε͹͓खܰʹ։ൃ؀ڥߏங͕Ͱ͖Δ ଵຫͳ৺Λ࣋ͪଓ͚Δ • ෳ਺ͷίϯςφΛίϚϯυ1ͭͰىಈɾఀࢭ͕Մೳ • ίϚϯυ࣮ߦ࣌ʹίϯςφؒͷґଘؔ܎Λҙࣝ͢Δඞཁ͕ͳ͍ • ίϯςφͷߏ੒৘ใ͸CI/CDʹ΋ͦͷ··ར༻Ͱ͖Δ • ख࡞ۀͰ܁Γฦ͠ͷ࡞ۀʢτΠϧʣΛΑΓૣ͘ΑΓޮ཰తʹͰ͖ͳ͍͔Λ೔ʑࣗ໰͢Δ • ʮଵຫɾ୹ؾɾၗຫʯͷਫ਼ਆ͸ਓʹ޲͚Δ΂͖΋ͷͰ͸ͳ͍ʢιϑτ΢ΣΞʹ޲͚Δʣ • ࣗ࡞͢ΔͷͰ͸ͳ͘·ͣ͸୳͢