Share
Embed
Transcript
46 slides
-
3 ݱߦγεςϜͷ՝ ৽ج൫ͷతɾίϯηϓτ w ηΩϡϦςΟɾ࣭ͷ୲อ w EFW͕Ͱ͖ΔηΩϡϦςΟΛҙࣝͨ͠औΓΈ w పఈతͳࣗಈԽ w
ܧଓతσϦόϦʔ$% w *OGSBTUSVDUVSFBT$PEF*B$ w ܧଓతΠϯςάϨʔγϣϯ$* "HFOEB -
5 ࠒʹνʔϜ͕ൃ w খ͍͞ձٞࣨΛڌ͢Δײ͡Ͱ࢝·༷ͬͨ ސ٬͚ͷػೳΛࢼ࡞ w ड͚ೖΕΒΕͣʜ😭 Ӧۀ͚ͷࢧԉγεςϜΛ։ൃ w ঃʑʹࣾͰͷೝΛ͍͛ͯ͘࡞ઓ
։ൃͷྺ࢙ ސ٬͚ͷػೳΛ࡞͢ΔͳͲɺରԠྖҬΛগ֦ͣͭ͠େ -
7 w ঃʑʹςετΛॻ͘จԽ͕͕Γ͡Ί͍ͯͨ w 6OJU5FTUΛॻ͍͍ͯΔਓ͕ঃʑʹ૿͖͑ͯͨ w $*ΛςʔϚʹͨ͠ൃද͕૿͖͑ͯͨ ࠒͷঢ়گݸਓతͳ؍ଌൣғ $BLF1)1 +FOLJOTʹΑΔ
ΞδϟΠϧ։ൃSZV[FF !1)1.BUVSJ ࠓ࣌ͳ$BLF1)1Ͱͷ։ൃڥʂʁ LB[ $*Λؒ·Θͯ͠ΈͯLB[ !ୈճ1)1ษڧձ ొஃΛݟͯײಈͯ͠ਐߦதͷ ϓϩδΣΫτͰ࣮ફ +FOLJOTͷ࠷ॳͷόʔδϣϯެ։ 5SBWJT$*ϦϦʔε ࣌ظෆ໌ $JSDMF$*Ќ൛ϦϦʔε -
9 ͷͷݹ͍γεςϜ w ओʹ1)1 ΦϨΦϨ'8 ɺ$ ࣗಈςετ͕ͳ͍ σϓϩΠ࣌ʹਓखͰͷ࡞ۀ͕ඞཁ ӡ༻্ͷ w
ຊ൪ڥͷϩάӾཡ ݱߦγεςϜͷ՝ -
13 •ϑϩϯτΤϯυΞϓϦ •React / next.js / typescript •όοΫΤϯυAPI •PHP /
CakePHP •Πϯϑϥ •Azure PaaSΛΈ߹Θͤͯߏங •CI/CDͷ࣮ߦڥ •Github Actions جຊతͳߏ -
17 ίʔυͷηΩϡϦςΟରࡦ ੬ऑੑΛຒΊࠐ·ͳ͍ͨΊʹɺ੩తղੳෳࡶੑνΣοΫΛ׆༻͢Δ ར༻͍ͯ͠ΔϥΠϒϥϦ܈ͷηΩϡϦςΟରࡦ ߋ৽ͷݕΛࣗಈԽ͢ΔͨΊɺEFQFOEBCPUͰ13࡞ΛࣗಈԽ ࣮ߦڥͷηΩϡϦςΟ USJWZ (JUIVC"EWBODFE4FDVSJUZͰ੬ऑੑΛҰݩཧ αʔϏεΛఏڙ͢ΔϓϥοτϑΥʔϜͷηΩϡϦςΟ ϩάΛ౷߹తʹཧ͠ɺγεςϜͷঢ়ଶͷ֬ೝௐ͕ࠪͰ͖ΔΑ͏ʹ͢Δ
ଞʹΕΔ͜ͱ͕͋Γͦ͏ɺࠓޙͷ՝ ηΩϡϦςΟɾ࣭ͷ୲อ EFW͕Ͱ͖ΔηΩϡϦςΟΛҙࣝͨ͠औΓΈ -
20 w ܧଓతσϦόϦʔ$% w ֤ڥͷσϓϩΠΛࣗಈԽ w *OGSBTUSVDUVSF"T$PEF*B$ w ֤ڥͷϓϩϏδϣχϯάΛࣗಈԽ w
ͦͷଞఆظλεΫͷࣗಈԽ w (JUIVCͷϝτϦοΫͷࢹ ۭ͖γʔτɺ()"ͷ࣮ߦ࣌ؒʜ w ։ൃڥͷ৽ w ։ൃ༻1$Λಋೖ͠ɺ84- EPDLFSͰ։ൃڥΛߏங ओͳࣗಈԽͷॲཧ $%ɾ*B$ɾͦͷଞ -
22 ओͳࣗಈԽͷॲཧ ֤ڥͷσϓϩΠͷࣗಈԽ ί υ ͷ ν Ϋ Ξ
τ ί ϯ ς φ Ϩ δ ε τ Ϧ ʹ ϩ ά Π ϯ λ ά ໊ Λ औ ಘ ί ϯ ς φ Λ build & push λ ά ໊ ͔ Β Ϧ Ϗ δ ϯ ໊ Λ ࡞ Azure ϩ ά Π ϯ ࣮ ߦ த ͷ Ϧ Ϗ δ ϯ Λ औ ಘ ৽ ͠ ͍ Ϧ Ϗ δ ϯ Λ σ ϓ ϩ Π (traf c: 0%) Azure ϩ ά Π ϯ ৽ چ ͷ Ϧ Ϗ δ ϯ ͷ traf c Λ ೖ ସ ͑ Azure ϩ ά Π ϯ چ Ϧ Ϗ δ ϯ Λ আ Build Deploy Flip Deactivate ঝೝ ঝೝ ϦϦʔελάΛ࡞ Ұ୴͜͜Ͱఀࢭ -
24 ओͳࣗಈԽͷॲཧ ֤ڥͷϓϩϏδϣχϯάΛࣗಈԽ IaC ί υ ͷ จ ๏ ν
Ϋ STG ֤ ڥ ͱ ͷ ࠩ Λ औ ಘ ࠩ Λ PR ί ϝ ϯ τ ʹ ߘ IaC ί υ ͷ จ ๏ ν Ϋ ϓ ϩ Ϗ δ χ ϯ ά ࣮ ߦ PR࡞ ঝೝ UAT PROD Bicepίʔυͱ ࠩΛൺֱ ͕ͳ͚Ε Ϛʔδ ϨϏϡʔ ϦϦʔε ߏมߋ Ұ୴͜͜Ͱఀࢭ -
26 w 13࡞࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w 4POBSRVCFͰ੩తεΩϟϯɾΧόϨοδͷՄࢹԽ w ఆظతʹEFQFOEBCPUͰґଘؔͷߋ৽Λࣗಈݕ w όοΫΤϯυ"1* w
NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w ϑϩϯτΞϓϦ͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $* -
27 w 13࡞࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w 4POBSRVCFͰ੩తεΩϟϯɾΧόϨοδͷՄࢹԽ w ఆظతʹEFQFOEBCPUͰґଘؔͷߋ৽Λࣗಈݕ w όοΫΤϯυ"1* w
NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w ϑϩϯτΞϓϦ͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $* -
28 ओͳࣗಈԽͷॲཧ 13࡞࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ ί ϯ ς φ ͷ Ϗ ϧ
υ ί σ ϯ ά ε λ Π ϧ ν Ϋ phpstan ʹ Α Δ ੩ త ղ ੳ UnitTest ɾ Feature Test ͷ ࣮ ߦ SonarQube ʹ Α Δ ੩ త ղ ੳ ࣮ ߦ ݁ Ռ Λ Teams ʹ ௨ SonaeQube Badge Λ PR ί ϝ ϯ τ ʹ ߘ ίʔυͷ৴པੑɾอकੑ ্ͷࢪࡦ w ݕ༰ͷྫ w ܕͷෆҰகͷݕ w ଘࡏ͠ͳ͍Ϋϥεϝ ιουͷݺͼग़͠ w ྻΩʔϓϩύςΟͷ ະఆٛΞΫηε w ౸ୡෆೳͳίʔυ 4"45ʢ੩తΞϓϦέʔγϣϯη ΩϡϦςΟςετʣ w ݕ༰ w όάηΩϡϦςΟͷ੬ऑੑ w ίʔυͷॏෳɺෳࡶੑɺίʔ σΟϯάنҧ w ςετΧόϨοδͷଌఆ w ٕज़తෛ࠴ͷఆྔԽ -
30 w 13࡞࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w 4POBSRVCFͰ੩తεΩϟϯɾΧόϨοδͷՄࢹԽ w ఆظతʹEFQFOEBCPUͰґଘؔͷߋ৽Λࣗಈݕ w όοΫΤϯυ"1* w
NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w ϑϩϯτΞϓϦ͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $* -
32 w 13࡞࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w 4POBSRVCFͰ੩తεΩϟϯɾΧόϨοδͷՄࢹԽ w ఆظతʹEFQFOEBCPUͰґଘؔͷߋ৽Λࣗಈݕ w όοΫΤϯυ"1* w
NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w ϑϩϯτΞϓϦ͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $* -
33 0QFO"1*ఆٛ ެࣜͷαϯϓϧIUUQT[JSDPUFHJUIVCJPTXBHHFSQIQ w TXBHHFSQIQͰهड़ w CVJME͢ΔͱZBNMΛࣗಈੜ w ࣮ࡍͷίʔυͷۙ͘ʹهड़͕ ͋ΔͷͰѲ͍͢͠ɺमਖ਼
࿙Ε͕ग़ʹ͍͘ ࣾൺ w ΞτϦϏϡʔτͰॻ͚Δ༷ʹ ͳͬͯॻ͖৺͕վળ -
35 w 13࡞࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w 4POBSRVCFͰ੩తεΩϟϯɾΧόϨοδͷՄࢹԽ w ఆظతʹEFQFOEBCPUͰґଘؔͷߋ৽Λࣗಈݕ w όοΫΤϯυ"1* w
NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w ϑϩϯτΞϓϦ͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $* -
36 PQFOBQJUZQFTDSQUͰ0QFO"1*ఆٛΛUZQFTDSJQUԽ w ϦΫΤετύϥϝʔλϨεϙϯεͷܕΛൈ͖ग़ͯ͠ఆٛΛՃ w ڞ௨తʹར༻Մೳͳ"1*ΫϥΠΞϯτϥΠϒϥϦʹΈࠐΉ ϦϦʔε༻ͷ5BHΛଧͭ w ΫϥΠΞϯτϥΠϒϥϦΛϏϧυ w
(JUIVC1BDLBHFTʹࣗಈϦϦʔε ϑϩϯτΞϓϦ͚"1*ΫϥΠΞϯτͷQVCMJTI "1*Λར༻͢ΔϑϩϯτΞϓϦʹΠϯετʔϧͯ͠ར༻ -
37 w 13࡞࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w 4POBSRVCFͰ੩తεΩϟϯɾΧόϨοδͷՄࢹԽ w ఆظతʹEFQFOEBCPUͰґଘؔͷߋ৽Λࣗಈݕ w όοΫΤϯυ"1* w
NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w ϑϩϯτΞϓϦ͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $* -
39 w 13࡞࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w 4POBSRVCFͰ੩తεΩϟϯɾΧόϨοδͷՄࢹԽ w ఆظతʹEFQFOEBCPUͰґଘؔͷߋ৽Λࣗಈݕ w όοΫΤϯυ"1* w
NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w ϑϩϯτΞϓϦ͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $* -
42 αʔϏεΛఏڙ͢ΔϓϥοτϑΥʔϜͷηΩϡϦςΟ ϩάΛू ӬଓԽ ϑϩϯτΞϓϦϩά ෆมϙϦγʔͷద༻ ϩάͷϥΠϑαΠΫϧઃఆ ϩάɾϝτϦοΫΞϥʔτ Ξϥʔτ௨ υΩϡϝϯτࢀর
ϩάΛ౷߹తʹཧ͠ɺγεςϜͷঢ়ଶͷ֬ೝௐ͕ࠪͰ͖ΔΑ͏ʹ͢Δ