Upgrade to Pro — share decks privately, control downloads, hide ads and more …

開発エンジニアが実践するDevSecOps

 開発エンジニアが実践するDevSecOps

Avatar for Kaz Watanabe

Kaz Watanabe

April 17, 2025
Tweet

More Decks by Kaz Watanabe

Other Decks in Technology

Transcript

  1. 13 w ܧଓతσϦόϦʔ$% w ֤؀ڥ΁ͷσϓϩΠΛࣗಈԽ w *OGSBTUSVDUVSF"T$PEF*B$ w ֤؀ڥͷϓϩϏδϣχϯάΛࣗಈԽ w

    ͦͷଞఆظλεΫͷࣗಈԽ w HJUIVCͷϝτϦοΫͷ؂ࢹ ۭ͖γʔτ਺ɺ()"ͷ࣮ߦ࣌ؒʜ ओͳࣗಈԽͷॲཧ $%ɾ*B$ɾͦͷଞ
  2. 15 ओͳࣗಈԽͷॲཧ ֤؀ڥ΁ͷσϓϩΠͷࣗಈԽ ί υ ͷ ν Ϋ Ξ ΢

    τ ί ϯ ς φ Ϩ δ ε τ Ϧ ʹ ϩ ά Π ϯ λ ά ໊ Λ औ ಘ ί ϯ ς φ Λ build & push λ ά ໊ ͔ Β Ϧ Ϗ δ ϯ ໊ Λ ࡞ ੒ Azure ϩ ά Π ϯ ࣮ ߦ த ͷ Ϧ Ϗ δ ϯ Λ औ ಘ ৽ ͠ ͍ Ϧ Ϗ δ ϯ Λ σ ϓ ϩ Π (traf c: 0%) Azure ϩ ά Π ϯ ৽ چ ͷ Ϧ Ϗ δ ϯ ͷ traf c Λ ೖ ସ ͑ Azure ϩ ά Π ϯ چ Ϧ Ϗ δ ϯ Λ ࡟ আ Build Deploy Flip Deactivate ঝೝ ঝೝ ϦϦʔελάΛ࡞੒ Ұ୴͜͜Ͱఀࢭ
  3. 17 ओͳࣗಈԽͷॲཧ ֤؀ڥͷϓϩϏδϣχϯάΛࣗಈԽ IaC ί υ ͷ จ ๏ ν

    Ϋ STG ֤ ؀ ڥ ͱ ͷ ࠩ ෼ Λ औ ಘ ࠩ ෼ Λ PR ί ϝ ϯ τ ʹ ౤ ߘ IaC ί υ ͷ จ ๏ ν Ϋ ϓ ϩ Ϗ δ χ ϯ ά ࣮ ߦ PR࡞੒ ঝೝ UAT PROD Bicepίʔυͱ ࠩ෼Λൺֱ ໰୊͕ͳ͚Ε͹ Ϛʔδ ϨϏϡʔ ϦϦʔε ߏ੒มߋ Ұ୴͜͜Ͱఀࢭ
  4. 19 w 13࡞੒࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w ఆظతʹEFQFOEBCPUͰґଘؔ܎ͷߋ৽Λࣗಈݕ஌ w όοΫΤϯυ"1* w NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w

    ϑϩϯτΞϓϦ޲͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $*
  5. 20 w 13࡞੒࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w ఆظతʹEFQFOEBCPUͰґଘؔ܎ͷߋ৽Λࣗಈݕ஌ w όοΫΤϯυ"1* w NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w

    ϑϩϯτΞϓϦ޲͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $*
  6. 21 ओͳࣗಈԽͷॲཧ 13࡞੒࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ ί ϯ ς φ ͷ Ϗ ϧ

    υ ί σ ϯ ά ε λ Π ϧ ν Ϋ phpstan ʹ Α Δ ੩ త ղ ੳ UnitTest ɾ Feature Test ͷ ࣮ ߦ SonarQube ʹ Α Δ ੩ త ղ ੳ ࣮ ߦ ݁ Ռ Λ Teams ʹ ௨ ஌ SonaeQube Badge Λ PR ί ϝ ϯ τ ʹ ౤ ߘ ίʔυͷ৴པੑɾอकੑ޲ ্ͷࢪࡦ w ݕ஌಺༰ͷྫ w ܕͷෆҰகͷݕ஌ w ଘࡏ͠ͳ͍Ϋϥε΍ϝ ιουͷݺͼग़͠ w ഑ྻΩʔ΍ϓϩύςΟͷ ະఆٛΞΫηε w ౸ୡෆೳͳίʔυ 4"45ʢ੩తΞϓϦέʔγϣϯη ΩϡϦςΟςετʣ w ݕ஌಺༰ w όά΍ηΩϡϦςΟͷ੬ऑੑ w ίʔυͷॏෳɺෳࡶੑɺίʔ σΟϯάن໿ҧ൓ w ςετΧόϨοδͷଌఆ w ٕज़తෛ࠴ͷఆྔԽ
  7. 22 w 13࡞੒࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w ఆظతʹEFQFOEBCPUͰґଘؔ܎ͷߋ৽Λࣗಈݕ஌ w όοΫΤϯυ"1* w NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w

    ϑϩϯτΞϓϦ޲͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $*
  8. 24 w 13࡞੒࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w ఆظతʹEFQFOEBCPUͰґଘؔ܎ͷߋ৽Λࣗಈݕ஌ w όοΫΤϯυ"1* w NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w

    ϑϩϯτΞϓϦ޲͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $*
  9. 26 w 13࡞੒࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w ఆظతʹEFQFOEBCPUͰґଘؔ܎ͷߋ৽Λࣗಈݕ஌ w όοΫΤϯυ"1* w NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w

    ϑϩϯτΞϓϦ޲͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $*
  10. 28 w 13࡞੒࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w ఆظతʹEFQFOEBCPUͰґଘؔ܎ͷߋ৽Λࣗಈݕ஌ w όοΫΤϯυ"1* w NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w

    ϑϩϯτΞϓϦ޲͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $*