Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
開発エンジニアが実践するDevSecOps
Search
Kaz Watanabe
April 17, 2025
Technology
180
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
開発エンジニアが実践するDevSecOps
https://offers.cyleague.jp/202504cstf
Kaz Watanabe
April 17, 2025
More Decks by Kaz Watanabe
See All by Kaz Watanabe
開発エンジニアが取り組む DevSecOps ~ GitHub Enterprise × Azure での実践~
kaz29
0
52
Greenは本当にGreenか? - B/GデプロイとAPI自動テストで安心デプロイ
kaz29
1
210
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
1
510
PHPCon福岡2024-Azureもなかなかいいですよ.pdf
kaz29
2
400
Azure Container Apps + Bicep 〜 こんな感じで運用しています
kaz29
3
1.3k
20220908_フロントエンドパフォーマンス改善.pdf
kaz29
2
200
PHP製のPodCast配信用WebアプリをReact+Next.jsなSSGで作り直してみた話
kaz29
3
720
バックエンドエンジニアの私がお勧めする SPAフロントエンド開発環境
kaz29
6
6.3k
201909-PHPCon北海道-PHPでCI_CD.pdf
kaz29
0
4.3k
Other Decks in Technology
See All in Technology
フィンテック養成勉強会#68
finengine
0
180
LLM-as-a-Judgeは本当に信頼できるのか――評価器を評価する話
taka_aki
2
910
dbt Semantic Layerで進めるenechainのデータ民主化
akizhou
1
160
Let's Change Our World—Again
snoozer05
PRO
2
130
専門領域のAIをどう評価するか
bengo4com
2
350
大型犬好きによるPugの紹介
yamanoku
1
160
【データ横丁主催】AI エージェント時代のTranslytical Data Platform
shisyu_gaku
0
110
How to Design Configuration for Rails Applications
willnet
1
940
sue445's proposals 2026
sue445
0
120
その Valkey 使いこなしていますか?
onk
PRO
5
1.7k
CTO Night|NotionのAIエージェントとFDE
kzkhykw1991
0
280
会社説明資料
persolserverworks
0
9.8k
Featured
See All Featured
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
The Limits of Empathy - UXLibs8
cassininazir
2
730
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
540
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
330
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
A designer walks into a library…
pauljervisheath
211
25k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
540
How to Think Like a Performance Engineer
csswizardry
28
2.9k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
480
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
Producing Creativity
orderedlist
PRO
348
41k
Transcript
։ൃΤϯδχΞ͕࣮ફ͢ΔDevSecOps ηΩϡϦςΟΛҙࣝͨࣗ͠ಈԽͷऔΓΈͷհ ࣍ظϑϩϯτγεςϜ։ൃ෦ ݄!%FW4FD0QT࠷લઢϑϩϯτϥϯφʔ͔ΒֶͿ࠷৽τϨϯυͱޭࣄྫ
2 WHO!? ลҰ JCOMגࣜձࣾ ࣍ظϑϩϯτγεςϜ։ൃ෦ WebΞϓϦέʔγϣϯͷ։ൃ DevOpsڥͷߏஙɾӡ༻ ΫϥυΠϯϑϥͷߏஙɾӡ༻
3 ݱߦγεςϜͷ՝ ৽ج൫ͷతɾίϯηϓτ w ηΩϡϦςΟɾ࣭ͷ୲อ w EFW͕Ͱ͖ΔηΩϡϦςΟΛҙࣝͨ͠औΓΈ w పఈతͳࣗಈԽ w
ܧଓతσϦόϦʔ$% w *OGSBTUSVDUVSFBT$PEF*B$ w ܧଓతΠϯςάϨʔγϣϯ$* "HFOEB
4 ԿΛ͍ͯ͠Δ෦ॺ͔ʁ
ݱߦγεςϜͷ՝
6 ͷͷݹ͍γεςϜ w ओʹ1)1ɺ$ ࣗಈςετ͕ͳ͍ σϓϩΠ࣌ʹਓखͰͷ࡞ۀ͕ඞཁ ӡ༻্ͷ w ຊ൪ڥͷϩάӾཡ ݱߦγεςϜͷ՝
৽ج൫ͷతɾίϯηϓτ
8 ੜ࢈ੑͷ্ແବͳۀͷഉআ w ηΩϡϦςΟɾ࣭ͷ୲อ ੩తղੳͳͲ͞·͟·ͳπʔϧΛར༻ͯ͠ɺ੬ऑੑͷݕΛࣗಈԽ͠ɺঢ় ଶΛՄࢹԽ͢Δ͜ͱͰӡ༻ෛՙΛܰݮ͢Δ w పఈతͳࣗಈԽ ࠷େݶ$*$%ύΠϓϥΠϯԽ͠ɺϏϧυɾσϓϩΠɺΠϯεϖΫγϣϯɺ ςετɺΠϯϑϥߏஙͳͲ༷ʑͳۀΛࣗಈԽ͢Δ
৽ج൫ͷతɾίϯηϓτ
9 ੜ࢈ੑͷ্ແବͳۀͷഉআ w ηΩϡϦςΟɾ࣭ͷ୲อ ੩తղੳͳͲ͞·͟·ͳπʔϧΛར༻ͯ͠ɺ੬ऑੑͷݕΛࣗಈԽ͠ɺঢ় ଶΛՄࢹԽ͢Δ͜ͱͰӡ༻ෛՙΛܰݮ͢Δ w పఈతͳࣗಈԽ ࠷େݶ$*$%ύΠϓϥΠϯԽ͠ɺϏϧυɾσϓϩΠɺΠϯεϖΫγϣϯɺ ςετɺΠϯϑϥߏஙͳͲ༷ʑͳۀΛࣗಈԽ͢Δ
৽ج൫ͷతɾίϯηϓτ
10 ίʔυͷηΩϡϦςΟରࡦ ੬ऑੑΛຒΊࠐ·ͳ͍ͨΊʹɺ੩తղੳෳࡶੑνΣοΫΛ׆༻͢Δ ར༻͍ͯ͠ΔϥΠϒϥϦ܈ͷηΩϡϦςΟରࡦ ߋ৽ͷݕΛࣗಈԽ͢ΔͨΊɺEFQFOEBCPUͰ13࡞ΛࣗಈԽ ࣮ߦڥͷηΩϡϦςΟ USJWZ (JUIVC"EWBODFE4FDVSJUZͰ੬ऑੑΛҰݩཧ αʔϏεΛఏڙ͢ΔϓϥοτϑΥʔϜͷηΩϡϦςΟ ϩάΛ౷߹తʹཧ͠ɺγεςϜͷঢ়ଶͷ֬ೝௐ͕ࠪͰ͖ΔΑ͏ʹ͢Δ
ଞʹΕΔ͜ͱ͕͋Γͦ͏ɺࠓޙͷ՝ ηΩϡϦςΟɾ࣭ͷ୲อ EFW͕Ͱ͖ΔηΩϡϦςΟΛҙࣝͨ͠औΓΈ
11 ੜ࢈ੑͷ্ແବͳۀͷഉআ w ηΩϡϦςΟɾ࣭ͷ୲อ ੩తղੳͳͲ͞·͟·ͳπʔϧΛར༻ͯ͠ɺ੬ऑੑͷݕΛࣗಈԽ͠ɺঢ় ଶΛՄࢹԽ͢Δ͜ͱͰӡ༻ෛՙΛܰݮ͢Δ w పఈతͳࣗಈԽ ࠷େݶ$*$%ύΠϓϥΠϯԽ͠ɺϏϧυɾσϓϩΠɺΠϯεϖΫγϣϯɺ ςετɺΠϯϑϥߏஙͳͲ༷ʑͳۀΛࣗಈԽ͢Δ
৽ج൫ͷతɾίϯηϓτ
పఈతͳࣗಈԽ
13 w ܧଓతσϦόϦʔ$% w ֤ڥͷσϓϩΠΛࣗಈԽ w *OGSBTUSVDUVSF"T$PEF*B$ w ֤ڥͷϓϩϏδϣχϯάΛࣗಈԽ w
ͦͷଞఆظλεΫͷࣗಈԽ w HJUIVCͷϝτϦοΫͷࢹ ۭ͖γʔτɺ()"ͷ࣮ߦ࣌ؒʜ ओͳࣗಈԽͷॲཧ $%ɾ*B$ɾͦͷଞ
ܧଓతσϦόϦʔ$%
15 ओͳࣗಈԽͷॲཧ ֤ڥͷσϓϩΠͷࣗಈԽ ί υ ͷ ν Ϋ Ξ
τ ί ϯ ς φ Ϩ δ ε τ Ϧ ʹ ϩ ά Π ϯ λ ά ໊ Λ औ ಘ ί ϯ ς φ Λ build & push λ ά ໊ ͔ Β Ϧ Ϗ δ ϯ ໊ Λ ࡞ Azure ϩ ά Π ϯ ࣮ ߦ த ͷ Ϧ Ϗ δ ϯ Λ औ ಘ ৽ ͠ ͍ Ϧ Ϗ δ ϯ Λ σ ϓ ϩ Π (traf c: 0%) Azure ϩ ά Π ϯ ৽ چ ͷ Ϧ Ϗ δ ϯ ͷ traf c Λ ೖ ସ ͑ Azure ϩ ά Π ϯ چ Ϧ Ϗ δ ϯ Λ আ Build Deploy Flip Deactivate ঝೝ ঝೝ ϦϦʔελάΛ࡞ Ұ୴͜͜Ͱఀࢭ
*OGSBTUSVDUVSF"T$PEF*B$
17 ओͳࣗಈԽͷॲཧ ֤ڥͷϓϩϏδϣχϯάΛࣗಈԽ IaC ί υ ͷ จ ๏ ν
Ϋ STG ֤ ڥ ͱ ͷ ࠩ Λ औ ಘ ࠩ Λ PR ί ϝ ϯ τ ʹ ߘ IaC ί υ ͷ จ ๏ ν Ϋ ϓ ϩ Ϗ δ χ ϯ ά ࣮ ߦ PR࡞ ঝೝ UAT PROD Bicepίʔυͱ ࠩΛൺֱ ͕ͳ͚Ε Ϛʔδ ϨϏϡʔ ϦϦʔε ߏมߋ Ұ୴͜͜Ͱఀࢭ
ܧଓతΠϯςάϨʔγϣϯ$*
19 w 13࡞࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w ఆظతʹEFQFOEBCPUͰґଘؔͷߋ৽Λࣗಈݕ w όοΫΤϯυ"1* w NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w
ϑϩϯτΞϓϦ͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $*
20 w 13࡞࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w ఆظతʹEFQFOEBCPUͰґଘؔͷߋ৽Λࣗಈݕ w όοΫΤϯυ"1* w NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w
ϑϩϯτΞϓϦ͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $*
21 ओͳࣗಈԽͷॲཧ 13࡞࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ ί ϯ ς φ ͷ Ϗ ϧ
υ ί σ ϯ ά ε λ Π ϧ ν Ϋ phpstan ʹ Α Δ ੩ త ղ ੳ UnitTest ɾ Feature Test ͷ ࣮ ߦ SonarQube ʹ Α Δ ੩ త ղ ੳ ࣮ ߦ ݁ Ռ Λ Teams ʹ ௨ SonaeQube Badge Λ PR ί ϝ ϯ τ ʹ ߘ ίʔυͷ৴པੑɾอकੑ ্ͷࢪࡦ w ݕ༰ͷྫ w ܕͷෆҰகͷݕ w ଘࡏ͠ͳ͍Ϋϥεϝ ιουͷݺͼग़͠ w ྻΩʔϓϩύςΟͷ ະఆٛΞΫηε w ౸ୡෆೳͳίʔυ 4"45ʢ੩తΞϓϦέʔγϣϯη ΩϡϦςΟςετʣ w ݕ༰ w όάηΩϡϦςΟͷ੬ऑੑ w ίʔυͷॏෳɺෳࡶੑɺίʔ σΟϯάنҧ w ςετΧόϨοδͷଌఆ w ٕज़తෛ࠴ͷఆྔԽ
22 w 13࡞࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w ఆظతʹEFQFOEBCPUͰґଘؔͷߋ৽Λࣗಈݕ w όοΫΤϯυ"1* w NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w
ϑϩϯτΞϓϦ͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $*
23 ఆظతʹEFQFOEBCPUͰґଘؔͷߋ৽Λࣗಈݕ IUUQTEPDTHJUIVCDPNKBDPEFTFDVSJUZHFUUJOHTUBSUFEEFQFOEBCPURVJDLTUBSUHVJEF
24 w 13࡞࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w ఆظతʹEFQFOEBCPUͰґଘؔͷߋ৽Λࣗಈݕ w όοΫΤϯυ"1* w NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w
ϑϩϯτΞϓϦ͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $*
25 NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ
26 w 13࡞࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w ఆظతʹEFQFOEBCPUͰґଘؔͷߋ৽Λࣗಈݕ w όοΫΤϯυ"1* w NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w
ϑϩϯτΞϓϦ͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $*
27 %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ
28 w 13࡞࣌ʹ6OJU5FTUͳͲΛࣗಈ࣮ߦ w ఆظతʹEFQFOEBCPUͰґଘؔͷߋ৽Λࣗಈݕ w όοΫΤϯυ"1* w NBJOϒϥϯνߋ৽࣌ʹ"1*ఆٛΛ(JUIVC1BHFTʹσϓϩΠ w
ϑϩϯτΞϓϦ͚"1*ΫϥΠΞϯτͷQVCMJTI w %PDLFSίϯςφͷఆظతͳ੬ऑੑεΩϟϯ w ϑϩϯτΞϓϦ w NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ ओͳࣗಈԽͷॲཧ $*
29 NBJOϒϥϯνߋ৽࣌ʹ4UPSZCPPLΛ(JUIVC1BHFTʹσϓϩΠ
ϩάΛ౷߹తʹཧ͠ɺγεςϜͷঢ়ଶͷ֬ೝௐ͕ࠪͰ͖ΔΑ͏ʹ͢Δ
31 αʔϏεΛఏڙ͢ΔϓϥοτϑΥʔϜͷηΩϡϦςΟ ϩάΛू ӬଓԽ ϑϩϯτΞϓϦϩά ෆมϙϦγʔͷద༻ ϩάͷϥΠϑαΠΫϧઃఆ ϩάɾϝτϦοΫΞϥʔτ Ξϥʔτ௨ υΩϡϝϯτࢀর
ϩάΛ౷߹తʹཧ͠ɺγεςϜͷঢ়ଶͷ֬ೝௐ͕ࠪͰ͖ΔΑ͏ʹ͢Δ
32 4POBS2VCF
33 ੜ࢈ੑͷ্ແବͳۀͷഉআ w ηΩϡϦςΟɾ࣭ͷ୲อ ੩తղੳͳͲ͞·͟·ͳπʔϧΛར༻ͯ͠ɺ੬ऑੑͷݕΛࣗಈԽ͠ɺঢ় ଶΛՄࢹԽ͢Δ͜ͱͰӡ༻ෛՙΛܰݮ͢Δ w పఈతͳࣗಈԽ ࠷େݶ$*$%ύΠϓϥΠϯԽ͠ɺϏϧυɾσϓϩΠɺΠϯεϖΫγϣϯɺ ςετɺΠϯϑϥߏஙͳͲ༷ʑͳۀΛࣗಈԽ͢Δ
৽ج൫ͷతɾίϯηϓτ
ࠓޙ༷ʑͳվળΛਐΊΔՌͯ͠ͳ͍ಓͷΓΛొΓଓ͚·͢
None