Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
$PEFγϦʔζͰ࢝ΊΔ͡Ίͯͷ$*$% "84ࣄۀຊ෦ίϯαϧςΟϯά෦ ࢬਖ਼थ
Slide 2
Slide 2 text
ࣗݾհ ͔ͣ͑ • AWSࣄۀຊ෦ ίϯαϧςΟϯά෦ • େࡕΦϑΟεۈ • 20191݄JOIN • ৬ྺ • WEBίϯαϧʢडୗ։ൃʣ8 • ࣗࣾαʔϏε։ൃӡ༻อक 2 • ͖ͳAWSαʔϏε • Terraform
Slide 3
Slide 3 text
IJHPCBTIJBXT
Slide 4
Slide 4 text
͜ͷηογϣϯͷΰʔϧ ରऀ $*$%PS$PEFγϦʔζ Α͘Βͳ͍ ΰʔϧ $PEFγϦʔζศརʂ ͬͯΈΑ͏ʂ
Slide 5
Slide 5 text
͜ͷηογϣϯͰΔ͜ͱ ͱ͋Δ։ൃڥʹCodeγϦʔζΛಋೖͯ͠ΑΓศརʹ
Slide 6
Slide 6 text
͘͡ • ༻ޠͷཧ • ࠓճѻ͏ʮͱ͋Δڥʯͷհ • εςοϓ1ɿσϓϩΠ࡞ۀΛ؆୯ʹ͠Α͏ • εςοϓ2ɿ֤ڥͷσϓϩΠΛҰຊԽ͠Α͏ • εςοϓ3ɿGitϦϙδτϦ͔ΒσϓϩΠ͠Α͏ • εςοϓ4ɿςετΛࣗಈ࣮ߦ͠Α͏ • ·ͱΊ
Slide 7
Slide 7 text
$*$%ͬͯԿʁ
Slide 8
Slide 8 text
$*$%ͬͯԿʁ ίʔυ Ϗϧυ ςετ σϓϩΠ ϦϦʔε·Ͱͷ࡞ۀΛ ࣗಈԽɺলྗԽ͢ΔࢼΈͷ͜ͱ
Slide 9
Slide 9 text
ͳΜͰ$*$%͕ඞཁͳͷʁ
Slide 10
Slide 10 text
ͳΜͰ$*$%͕ඞཁͳͷʁ ٻΊΒΕΔεϐʔυϨϕϧ্͕͕͍ͬͯΔ͔Β
Slide 11
Slide 11 text
ະϦϦʔε=ࡏݿ
Slide 12
Slide 12 text
$PEFγϦʔζͬͯԿʁ
Slide 13
Slide 13 text
$PEFγϦʔζͬͯԿʁ $*$%Λ࣮ݱ͢Δͷʹཱͭ"84ͷαʔϏε܈ͷ૯শ CodeCommit CodeBuild CodePipeline CodeDeploy CodeStar
Slide 14
Slide 14 text
ࠓճѻ͏ڥ
Slide 15
Slide 15 text
ͱ͋Δڥ • LaravelΞϓϦ • ALB+EC2Ұ • Ϩϯλϧαʔόʔ ʹGitϦϙδτϦ • SFTPͰϑΝΠϧ ΞοϓϩʔυͰ σϓϩΠ • ςετίʔυʁ
Slide 16
Slide 16 text
εςοϓɿσϓϩΠ࡞ۀΛ؆୯ʹ͠Α͏
Slide 17
Slide 17 text
ঢ়گΠϯελϯεΛ૿͢͜ͱʹͳΓ·ͨ͠ ΊΜͲ͍
Slide 18
Slide 18 text
$PEF%FQMPZ
Slide 19
Slide 19 text
$PEF%FQMPZ • σϓϩΠΛָʹ͢ΔαʔϏε • ZipԽͨ͠ιʔείʔυor GitHub্ͷιʔείʔυ ˣ ࢦఆͷEC2Πϯελϯε্ͳͲ ʹ؆୯ʹσϓϩΠ
Slide 20
Slide 20 text
$PEF%FQMPZͷΈ • σϓϩΠઌͷΠϯελϯεʹ AgentΛৗற • CodeDeployʹରͯ͠ ϙʔϦϯά • ϓϩάϥϜߋ৽Λݕͨ͠Β औಘͯ͠ஔ ʴ ৭ʑͳλΠϛϯάͰ εΫϦϓτ࣮ߦՄೳ
Slide 21
Slide 21 text
$PEF%FQMPZͷઃఆ • σϓϩΠάϧʔϓ • σϓϩΠઌEC2Πϯελϯε • ιʔείʔυ
Slide 22
Slide 22 text
$PEF%FQMPZͷઃఆᶃσϓϩΠάϧʔϓ σϓϩΠରͷΠϯελϯεΛࢦఆ͢Δ λάͰରΛࢦఆ
Slide 23
Slide 23 text
$PEF%FQMPZͷઃఆᶄσϓϩΠઌͷ&$ • AgentΠϯετʔϧ • HTTPSΞτόϯυΞΫηε • λάΛઃఆ • S3ΞΫηεݖݶ
Slide 24
Slide 24 text
$PEF%FQMPZͷઃఆᶅιʔείʔυ appspec.yml ϧʔτσΟϨΫτϦʹஔ͘ ιʔείʔυͷॴ Πϯελϯεͷॴ ιʔείʔυʹ εΫϦϓτΛؚΊΔ εΫϦϓτ࣮ߦλΠϛϯά
Slide 25
Slide 25 text
$PEF%FQMPZͷσϓϩΠ࡞ۀ ZIPϑΝΠϧԽ S3όέοτ Ξοϓϩʔυ
Slide 26
Slide 26 text
ঢ়گվળσϓϩΠ࡞ۀ͕؆୯ʹͳΓ·ͨ͠ Πϯελϯε͕ Կ૿͑ͯɺ ΤϯδχΞͷ ࡞ۀྔಉ͡
Slide 27
Slide 27 text
εςοϓ֤ڥͷσϓϩΠΛҰຊԽ͠Α͏
Slide 28
Slide 28 text
ঢ়گʮ4UHͱຊ൪ڥͦΕͧΕʹ$PEF%FQMPZ͏ͷΊΜͲ͍Θʯ Stgڥ ຊ൪ڥ
Slide 29
Slide 29 text
$PEF1JQFMJOF
Slide 30
Slide 30 text
$PEF1JQFMJOF • ֤αʔϏεΛ࿈ܞͤͯ͞CI/CDͷ ύΠϓϥΠϯΛ࡞ΔαʔϏε • AWSͷαʔϏεҎ֎࿈ܞՄೳ • ϑϩʔͷਐḿΛՄࢹԽ
Slide 31
Slide 31 text
$PEF1JQFMJOFͷ֓೦ͱΈ ※ਤʮCodePipelineϢʔβʔΨΠυ CodePipelineͷ֓೦ʯΑΓసࡌ (https://docs.aws.amazon.com/ja_jp/codepipeline/latest/userguide/concepts.html#concepts-how-it-works) • ύΠϓϥΠϯ • εςʔδ • τϥϯδγϣϯ • ΞΫγϣϯ • ΞʔςΟϑΝΫτ
Slide 32
Slide 32 text
ࠓճ࡞͢ΔύΠϓϥΠϯ
Slide 33
Slide 33 text
ঢ়گվળσϓϩΠ࡞ۀ͕͞Βʹ؆୯ʹͳΓ·ͨ͠ • Stgͱຊ൪ڥͷσϓϩΠΛҰͭͷྲྀΕʹ ·ͱΊΔ͜ͱ͕Ͱ͖ͨ • CodeDeployίϯιʔϧͰͷσϓϩΠ࡞ۀෆཁʹʢS3ʹΞοϓ ͨ͠Βࣗಈ։࢝) • Ͳͷεςοϓ·Ͱਐߦ͍ͯ͠Δͷ͔Θ͔Δ • ཤྺࢀরՄೳ
Slide 34
Slide 34 text
εςοϓɿ(JUϦϙδτϦ͔ΒσϓϩΠ͠Α͏
Slide 35
Slide 35 text
ঢ়گʮຖճ[JQϑΝΠϧ࡞ͬͯ4ʹ্͛ΔͷΊΜͲ͍͘͞Θʯ ZIPϑΝΠϧԽ S3όέοτ Ξοϓϩʔυ ύΠϓϥΠϯ ελʔτ
Slide 36
Slide 36 text
$PEF$PNNJU͔(JU)VCΛ͓͏
Slide 37
Slide 37 text
Slide 38
Slide 38 text
$PEF$PNNJU
Slide 39
Slide 39 text
$PEF$PNNJU • GitϦϙδτϦͷϚωʔδυ αʔϏε =Πϯϑϥཧෆཁ • IAMϢʔβʔͰೝূೝՄͰ͖Δ
Slide 40
Slide 40 text
$PEF$PNNJU͍ํ • ϦϙδτϦ࡞ • ίʔυϓογϡ • ύΠϓϥΠϯͷSource εςʔδΛमਖ਼ → • appspec.yml͔Β࣮ߦ͞ΕΔ εΫϦϓτཁमਖ਼
Slide 41
Slide 41 text
BQQTQFDZNM͔Β࣮ߦ͞ΕΔεΫϦϓτͷमਖ਼ w (JUϦϙδτϦ ͷίʔυ w ֎෦ϥΠϒϥϦ w (JUϦϙδτϦ ͷίʔυ w ֎෦ϥΠϒϥϦ εΫϦϓτͰ ֎෦ϥΠϒϥϦΛ μϯϩʔυ σϓϩΠ σϓϩΠ
Slide 42
Slide 42 text
ঢ়گվળϦϞʔτϒϥϯνʹมߋՃ͑Δ͚ͩͰॲཧ։࢝ • GitϦϙδτϦͷαʔόʔཧ͕ෆཁʹ • ύΠϓϥΠϯͰιʔείʔυΛḷΔ͜ͱ͕༰қʹ ෭࣍ ޮՌ
Slide 43
Slide 43 text
εςοϓɿςετΛࣗಈ࣮ߦ͠Α͏
Slide 44
Slide 44 text
ঢ়گʮ͜Ε͔ΒͪΌΜͱϢχοτςετॻ͍͍ͯ͜͏ͳʂʯ • ຊ൪ڥͰΤϥʔ͕ग़ͯ͠·ͬͨ • Ҏ߱ͷ༧ࡦͱͯͪ͠ΌΜͱ ςετΛॻ͍͍ͯ͘ํʹܾఆ • ςετύεͨ͠ίʔυ͚ͩσϓϩΠ ͢ΔΑ͏ʹ͍ͨ͠
Slide 45
Slide 45 text
$PEF#VJME
Slide 46
Slide 46 text
$PEF#VJME ϏϧυαʔϏε • ࢦఆͷεϖοΫͷίϯςφ্ʹ • ࢦఆͷϑΝΠϧΛஔ͍ͯ • ҙͷίϚϯυΛ࣮ߦͯ͠ • ݁ՌΛS3ʹΞτϓοτ͢Δ
Slide 47
Slide 47 text
$PEF#VJMEͰΔ͜ͱ • AmazonLinux2্Ͱ • ඞཁͳύοέʔδΠϯετʔϧͯ͠ • ComposerͰ֎෦ϥΠϒϥϦΛΠϯετʔϧ • PHPUnit࣮ߦ
Slide 48
Slide 48 text
$PEF#VJMEͷઃఆιʔείʔυ buildspec.yml ϧʔτσΟϨΫτϦʹஔ͘ ଓ͘ Ϗϧυͷ֤ஈ֊͝ͱʹ ࣮ߦ͢ΔίϚϯυΛ هड़
Slide 49
Slide 49 text
$PEF#VJMEͷઃఆιʔείʔυ buildspec.yml ϧʔτσΟϨΫτϦʹஔ͘ ଓ͖ ԿΛΞτϓοτʹ͢Δͷ͔ ࠓճͷ߹શϑΝΠϧ
Slide 50
Slide 50 text
$PEF#VJMEͷઃఆ$PEF1JQFMJOF SourceͱStgσϓϩΠ ͷؒʹεςʔδՃ
Slide 51
Slide 51 text
$PEF#VJMEॲཧத composer install ࣮ߦ͍ͯ͠Δ͋ͨΓ
Slide 52
Slide 52 text
$PEF#VJMEॲཧத PHPUnit࣮ߦ
Slide 53
Slide 53 text
ςετࣦഊͨ͠Β ࣍ͷStgڥͷσϓϩΠεςʔδ ʹભҠ͠ͳ͍ ͜ΕҰͭલͷϦϏδϣϯ
Slide 54
Slide 54 text
ঢ়گվળίʔυͷ࣭Ξοϓ • ϦϞʔτϒϥϯνʹมߋՃ͑Δςετ࣮ߦ • ςετͰΤϥʔ͕ग़ͨ߹σϓϩΠ͞Εͳ͍ • (ςετॻ͍ͯͶ)
Slide 55
Slide 55 text
൪֎ฤɿ͔ΒΞϓϦέʔγϣϯΛ࡞Δͱ͖
Slide 56
Slide 56 text
$PEF4UBS
Slide 57
Slide 57 text
$PEF4UBS • ͜Ε·Ͱհͯ͠དྷͨΑ͏ͳ CI/CDύΠϓϥΠϯ͖ͷڥΛ αΫοͱ࡞ͬͯ͘ΕΔ
Slide 58
Slide 58 text
-BSBWFMͷςϯϓϨʔτ͋Γ·͢
Slide 59
Slide 59 text
·ͱΊ
Slide 60
Slide 60 text
·ͱΊ • CodeγϦʔζΛհ͠·ͨ͠ • ઃఆ໘ͳͷ͋Δ͔͠Εͳ͍ Ͱ͓ͬͯ͘ͱʑͷ࡞ۀෛՙΛݮͰ͖Δ • CI/CDڥ͑ͯշదͳ։ൃϥΠϑΛʂ
Slide 61
Slide 61 text
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠