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
Continuous Documentation - CI/CDパイプラインを活用した文書化技...
Search
Ken’ichiro Oyama
September 28, 2021
Technology
860
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Continuous Documentation - CI/CDパイプラインを活用した文書化技術 - / Pepabo Tech Conference #16
https://pepabo.connpass.com/event/225504/
Ken’ichiro Oyama
September 28, 2021
More Decks by Ken’ichiro Oyama
See All by Ken’ichiro Oyama
Introducing RFC9111 / YAPC::Fukuoka 2025
k1low
2
5.7k
Design and implementation of "Markdown to Google Slides" / phpconfuk 2025
k1low
1
1.1k
analysis パッケージの仕組みの上でMulti linter with configを実現する / Go Conference 2025
k1low
1
890
Flight recorder at the application layer (NOT the FlightRecoder newly added at Go 1.25) / Fukuoka.go #22
k1low
0
200
ソフトウェア開発におけるインターフェイスという考え方 / PHPerKaigi 2025
k1low
12
6.4k
Parsing HCL/CUE / Fukuoka.go #21
k1low
0
11k
実践 net/http Middleware パターン / Kizuku.go Vol.1
k1low
2
470
Cleanup handling in Go / Go Conference 2024
k1low
7
4.2k
CI/CDがあたりまえの今の時代にAPIテスティングツールに求められていること / CI/CD Test Night #7
k1low
18
12k
Other Decks in Technology
See All in Technology
Claude Code本って、 読む必要あるの?
oikon48
2
480
AIを活用するために決めた "やらないこと" - 価値に注目する / Not betting on AI
soudai
PRO
3
560
その Lambda、8分で 管理者権限まで奪われます
k1nakayama
6
3.1k
ソフトウェアDNAとクラウドエージェントのススメ
cloudace
0
120
技術的負債から考える、AI時代のエンジニアリング投資 — ビズリーチの技術的負債と向き合った経験から、変更し続けられるソフトウェアを考える/ technical-debt-con2026
visional_engineering_and_design
4
3.2k
データ_AIの事業の勝敗をわけるもの
nek0128
1
460
株式会社シーエーシー エンジニア向け会社紹介資料
cac
0
57k
え、こんなに早く改修できるの?──新人エンジニアとスクラムマスターの2人が語る、AI×アジャイル開発の現場
ysasago
2
490
リアーキテクチャ後の障害ゼロを目指したShadow Testingの取り組み
nihonbuson
PRO
1
160
あけおめLINE 傾向とその対策
nasa9084
0
170
白金鉱業Meetup Vol.25 アウトカムが二値のデータに対するCausal Impact
brainpadpr
0
250
Deployment の 先にある AI Agent 基盤 - kagent vNext、Agent Substrate、Hermes から読み解く Agent Runtime の現在地 / k8s-matsuri-2-ai-agent-platform-amsy810
masayaaoyama
4
670
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Designing Experiences People Love
moore
143
24k
The Language of Interfaces
destraynor
162
27k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
250
The SEO identity crisis: Don't let AI make you average
varn
0
560
Site-Speed That Sticks
csswizardry
13
1.5k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
580
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
The Invisible Side of Design
smashingmag
301
52k
Transcript
Continuous Documentation - CI/CDύΠϓϥΠϯΛ׆༻ͨ͠จॻԽٕज़ - খࢁ݈Ұ / GMO PEPABO inc.
2021.09.27 Pepabo Tech Conference #16 1
2 ࣗݾհ ٕज़෦ɹٕज़ج൫νʔϜ 2018 த్ೖࣾ খࢁ ݈Ұ Ken’ichiro Oyama গ࣮͠༻తͰখ͞ͳOSSΛॻ͘ͷ͕झຯɻ
ʢ࠷ۙྗΛೖΕ͍ͯΔOSS https://github.com/k1LoW/octocov ͱ͍͏ओʹ GitHub ActionsͰಈ͔͢ίʔυϝτϦΫεϨϙʔτج൫ʣ • GitHub : k1LoW • Twitter : @k1LoW
3 ΞδΣϯμ 1. υΩϡϝϯτͱ 2. γεςϜͱυΩϡϝϯτͷဃ 3. γεςϜͱυΩϡϝϯτͷဃΛͳ͘͢Ξϓϩʔν 4. ܧଓతυΩϡϝϯςʔγϣϯ
5. ·ͱΊ
“υΩϡϝϯτ”ͱ 4
5 υΩϡϝϯτͱ ։ൃ։࢝·ͰͷΦʔόʔϔου
υΩϡϝϯτͱ 6 ։ൃऀ͕ɺࣝθϩͷঢ়ଶ͔ΒγεςϜΛཧղ͠։ൃΛ։࢝͢Δ·Ͱͷ࣌ؒίετΛɺ ຊൃදͰʮ։ൃ։࢝·ͰͷΦʔόʔϔουʯͱݺͿʢʮΦϯϘʔσΟϯάͷίετʯͱ ͍ͬͨํ͕Ұൠత͔ʣ • ։ൃऀ͕γεςϜΛཧղ͍ͨ͠ͱ͖ • ։ൃऀ͕৽ͨʹγεςϜ։ൃʹࢀՃͨ͠ͱ͖ •
͘͠։ൃऀ͕ࣗͷ୲Ҏ֎ͷߏཁૉػೳΛཧղ͍ͨ͠ͱ͖ • γεςϜͰར༻͍ͯ͠Δٕज़ελοΫʹेͳݟ͕͋ͬͨͱͯ͠ɺ࣮։ൃ։ ࢝·Ͱʹखؒͱ͕͔͔࣌ؒΔ ։ൃ։࢝·ͰͷΦʔόʔϔου
υΩϡϝϯτͱ 7 ৽ن։ൃͷ߹ɺ࣮ࡍʹ։ൃΛ։࢝͢Δ·Ͱʹࠨ ਤʹ͋ΔΑ͏ͳෳͷϨΠϠʔʹ͍ͭͯݕ౼Λ͢ Δ • ΕΒΕ͕͕ͪͩɺ్த͔Β։ൃʹJOIN͢ Δ߹ɺ৽ن։ൃ࣌ͱಉ͡ͷϨΠϠʔ ͷཧղ͕ඞཁʹͳΔ •
ҧ͏ͷʮ͢Ͱʹ͋ΔͷΛཧղ͢Δඞཁ ͕͋Δʯͱ͍͏͜ͱ͚ͩ ͲͷΑ͏ͳαʔϏε͔ ͲͷΑ͏ͳΞʔΩςΫνϟ͔ ͲͷΑ͏ʹσʔλΛอ࣋͢Δ͔ ʢʹͲͷΑ͏ͳςʔϒϧઃܭ͔ʣ ͲͷΑ͏ͳ։ൃڥ͔ ʢຊ൪ڥɾ։ൃڥʣ ͲͷΑ͏ͳίʔυ͔ ։ൃ αʔϏεཧղϨΠϠʔ ΞʔΩςΫνϟཧղϨΠϠʔ σʔλετΞཧղϨΠϠʔ ։ൃڥཧղϨΠϠʔ ίʔυཧղϨΠϠʔ ։ൃ։࢝·ͰͷΦʔόʔϔου
8 υΩϡϝϯτͱ ։ൃऀ͕γεςϜΛཧղ͢Δ
υΩϡϝϯτͱ 9 • ৽͍͠։ൃऀγεςϜΛݟͯཧղΛ͢Δඞཁ͕͋Δ • ։ൃ։࢝·ͰͷΦʔόʔϔου͕େ͖͍ঢ়ଶ γεςϜҎ֎ʹԿͳ͍ঢ়ଶ
υΩϡϝϯτͱ 10 • γεςϜͷཧղΛॿ͚ΔͨΊυΩϡϝϯτΛॻ͘ • ৽͍͠։ൃऀυΩϡϝϯτΛ௨ͯ͡γεςϜͷཧղΛਐΊΔ͜ͱ͕Ͱ͖Δ υΩϡϝϯτͰཧղΛॿ͚Δ
υΩϡϝϯτͱ 11 • υΩϡϝϯτΛӡ༻͢Δత → ։ൃ։࢝·ͰͷΦʔόʔϔουΛݮ͢ΔͨΊ • ݮ͢ΔͨΊʹγεςϜͷཧղΛॿ͚Δ͜ͱ͕Ͱ͖ͳ͍ͱ͍͚ͳ͍ • υΩϡϝϯτ͍ͭଘࡏ͢Δ͖͔
→ ཧղͯ͠Β͍͍ͨγεςϜ͕ଘࡏ͍ͯ͠Δͱ͖ • ܧଓతʹؒҧ͍ͷͳ͍ेͳυΩϡϝϯτ͕ଘࡏ͠ଓ͚Δඞཁ͕͋Δ • ※৽ن։ൃલͷʢઃܭͳͲͷʣυΩϡϝϯτຊൃදͷείʔϓ͔Β֎͢ ຊൃදʹ͓͚Δ”υΩϡϝϯτ" ʮܧଓతʹʯʮγεςϜͷཧղΛॿ͚ΔʯυΩϡϝϯτ͕ඞཁ
γεςϜͱυΩϡϝϯτͷဃ 12
γεςϜͱυΩϡϝϯτͷဃ 13 • γεςϜͱυΩϡϝϯτͱͷؒʹ༰ͷဃ͕ൃੜ͍ͯ͠Δ߹͕͋Δ • ʮॻ͍ͯ͋Δ͜ͱ͕ؒҧ͍ͬͯΔʯঢ়ଶʢ߹ʹΑͬͯʮॻ͍ͯ͋Δ͜ͱ͕ Γͳ͍ʯʣ • ߃ৗతʹ༰ʹ͕ࠩग़͍ͯΔঢ়ଶ •
ߋ৽λΠϛϯά͕ͣΕΔ͜ͱͰγεςϜͱυΩϡϝϯτͷ༰ʹ͕ࠩग़͍ͯΔঢ়ଶ γεςϜͱυΩϡϝϯτͷဃ
γεςϜͱυΩϡϝϯτͷဃ 14 • γεςϜͱͷဃ͕͋ΔυΩϡϝϯτͰγεςϜΛཧղ͢ΔͱɺؒҧͬͨཧղͰ։ൃ ʹೖͬͯ͠·͏ • ࣮ؔ࿈͕૿͍͑ͯͯؾܰʹΓͤͳ͘ͳ͍ͬͯͨΠϯελϯε • ࣮ߟྀ͠ͳ͍ͱ͍͚ͳ͍͜ͱ͕มΘ͍ܾͬͯͨࡁػೳ •
࣮૿͍͑ͯͨόον • ։ൃऀ͕ͦͷဃʹؾͮ͘ͷ͕͚Ε͍΄Ͳ։ൃʹ͓͚ΔϚΠφε͕େ͖͘ͳΔ • γεςϜཧղͷΓͳ͓͠🔥 • ίʔυͷॻ͖͠🔥 🔥 • ؒҧͬͨཧղͷ··ϦϦʔεɺޙʹো🔥 🔥 🔥 🔥 🔥 🔥 γεςϜͱυΩϡϝϯτͷဃ͕͋Δͱ
γεςϜͱυΩϡϝϯτͷဃ 15 γεςϜͱυΩϡϝϯτͷဃΛখ͘͢͞ΔͨΊʹɺ·ͣɺγεςϜͱυΩϡϝϯτͷ ဃΛஅͰ͖ΔΈ͕ඞཁ • γεςϜͱυΩϡϝϯτͷରԠؔΛද͢Ұछͷ͕ؔඞཁ • ʮͨͩυΩϡϝϯτΛॻ͘ʯγεςϜ͕ߋ৽͞Εͨͱ͖ʹɺυΩϡϝϯτͷͲ͜Λ ߋ৽͢Εྑ͍ͷ͔͕Θ͔Γʹ͍͘ˠͭ·Γ͕ؔͳ͍ঢ়ଶ ͦͯ͠ɺဃ͕͋ΔظؒΛͰ͖Δ͚ͩখ͘͢͞ΔͨΊʹ
• ܧଓతʹ • Ͱ͖Δ͚ͩγεςϜͷߋ৽ʹ͍ۙλΠϛϯάͰ υΩϡϝϯτΛγεςϜʹ߹Θͤͯߋ৽͠ଓ͚Δ͜ͱ͕ඞཁ γεςϜͱυΩϡϝϯτͷဃΛখ͘͢͞Δʹ
γεςϜͱυΩϡϝϯτͷဃ 16 γεςϜͱυΩϡϝϯτͷဃʹ͍ͭͯɺू߹Λ༻͍ͯϞσϧԽ͢ΔࢼΈ γεςϜͱυΩϡϝϯτͷဃͷϞσϧԽ https://speakerdeck.com/k1low/web-system-architecture-number-8
γεςϜͱυΩϡϝϯτͷ ဃΛͳ͘͢Ξϓϩʔν 17
18 γεςϜͱυΩϡϝϯτͷဃΛͳ͘͢Ξϓϩʔν γεςϜ͔ΒߏԽσʔλΛநग़ͯ͠ υΩϡϝϯτੜΛ͢Δ
γεςϜͱυΩϡϝϯτͷဃΛͳ͘͢Ξϓϩʔν 19 • JavadocɺgodocɺPHPDoc etc • γεςϜ͔ΒυΩϡϝϯτΛੜ͢Δ ͜ͱͰɺγεςϜͱυΩϡϝϯτͷဃ Λͳͦ͘͏ͱ͍ͯ͠Δ γεςϜ͔ΒߏԽσʔλΛநग़͢Δ
υΩϡϝϯτ ߏԽσʔλ γεςϜ
γεςϜͱυΩϡϝϯτͷဃΛͳ͘͢Ξϓϩʔν 20 • ຊൃදʹ͓͚ΔʮΞϊςʔγϣϯʯͱɺʮγεςϜʹର͢Δ։ൃऀͷཧղɾΠϝʔ δΛߏԽσʔλʹϝλใͱͯ͠Ճ͢Δʯͱ͍͏ҙຯ • PHPDocͳͲͰɺίϝϯτΛιʔείʔυʹ • ιʔείʔυͷʮߏʹԊͬͨܗͰʯ •
͔ͭʮܾΊΒΕͨϑΥʔϚοτʹैͬͯʯ Ճ͢Δ͜ͱͰɺॳΊͯ࠷ऴతͳυΩϡϝϯτʹө͞ΕΔ→Ξϊςʔγϣϯ ্هҎ֎ͷίϝϯτυΩϡϝϯτ͔Βແࢹ͞ΕΔ→ΞϊςʔγϣϯͰͳ͍ Ξϊςʔγϣϯ
21 γεςϜͱυΩϡϝϯτͷဃΛͳ͘͢Ξϓϩʔν ߏԽσʔλ͔Β γεςϜͱυΩϡϝϯτͷ྆ํΛੜ͢Δ
γεςϜͱυΩϡϝϯτͷဃΛͳ͘͢Ξϓϩʔν 22 • OpenAPI • ੜݩσʔλΛ1ͭʹ͢Δ͜ͱͰγε ςϜͱυΩϡϝϯτͷဃΛͳͦ͘͏ ͱ͍ͯ͠Δ ߏԽσʔλ͔ΒγεςϜͱυΩϡϝϯτͷ྆ํΛੜ͢Δ υΩϡϝϯτ
ߏԽσʔλ γεςϜ
γεςϜͱυΩϡϝϯτͷဃΛͳ͘͢Ξϓϩʔν 23 • 2ͭͷྫͷڞ௨ͱͯ͠ɺγεςϜͱυΩϡϝϯτͷؒʹߏԽσʔλΛհͨؔ͠࿈ Λ͍࣋ͬͯΔ͜ͱ͕Θ͔Δɻ • γεςϜͱυΩϡϝϯτͷରԠؔΛද͢Ұछͷؔʹͳ͍ͬͯΔ 2ͭͷΞϓϩʔνͷڞ௨
γεςϜͱυΩϡϝϯτͷဃΛͳ͘͢Ξϓϩʔν 24 • γεςϜͱυΩϡϝϯτͷဃΛͳͨ͘͢ΊʹɺγεςϜͷมԽͱ࿈ಈ͍ͯ͠ΔߏԽ σʔλΛυΩϡϝϯτੜʹ׆༻͢Δ • ʮγεςϜ͔ΒߏԽσʔλΛநग़͢ΔʯʮߏԽσʔλ͔ΒγεςϜΛ࡞ΔʯͲͪ ΒͰྑ͍ • ιʔείʔυɺIaCͷίʔυͱ͍ͬͨίʔυ͚ͩͰͳ͘ɺࢄτϨʔγϯάService
DiscoveryɺService Mapͱ͍ͬͨΈͰಘΒΕͨάϥϑγεςϜͷมԽͱ࿈ಈͨ͠ߏ Խσʔλͱݴ͑Δ • ߏԽσʔλ͔ΒυΩϡϝϯτͷܗΛੜ͠ɺΞϊςʔγϣϯʹγεςϜͷཧղʹඞཁ ͳઆ໌Λ݀ຒΊ͍ͯ͘͠Πϝʔδ • ॏཁͳͷΞϊςʔγϣϯͷ݀ຒΊ·Ͱͯ͠ॳΊͯγεςϜͷཧղΛॿ͚ΔυΩϡϝ ϯτʹͳΔͱ͍͏͜ͱ ߏԽσʔλΛ׆༻ͨ͠υΩϡϝϯςʔγϣϯ
ܧଓతυΩϡϝϯςʔγϣϯ 25
ܧଓతυΩϡϝϯςʔγϣϯ 26 • γεςϜͱυΩϡϝϯτͷؒʹߏԽσʔλΛհͨؔ͠࿈Λ࣋ͨͤΔ͜ͱͰ྆ऀͷ ဃΛͳ͘͢ख๏ʢʹπʔϧʣΛಘΔ͜ͱ͕Ͱ͖ͨ • ͦͷπʔϧΛ࣮ߦ͢Δͷ͕ɺৗʹ։ൃऀʹਓͰ͋Δͱʮ࣮ߦΕʯ͕ൃੜͯ͠͠· ͏ • ΞϓϦέʔγϣϯͱಉ༷ʹɺCI/CDͷΈΛ׆༻͢Δɻ
• ηΩϡϦςΟʹ͓͚ΔDevSecOpsηΩϡϦςΟγϑτϨϑτɺDeveloper- First Securityͱಉ͡ ୭͕υΩϡϝϯςʔγϣϯπʔϧΛ࣮ߦ͢Δͷ͔ υΩϡϝϯτܧଓతʹσϦόϦ͢Δ
27 ܧଓతυΩϡϝϯςʔγϣϯ GMOϖύϘʹ͓͚Δ ܧଓతυΩϡϝϯςʔγϣϯ
ܧଓతυΩϡϝϯςʔγϣϯ 28 σʔλϕʔεεΩʔϚͷ υΩϡϝϯςʔγϣϯ
ܧଓతυΩϡϝϯςʔγϣϯ 29
ܧଓతυΩϡϝϯςʔγϣϯ 30 • CIϑϨϯυϦͳσʔλϕʔευΩϡϝϯτੜ πʔϧ • https://github.com/k1LoW/tbls • PostgreSQL, MySQLͳͲͷRDBMS͚ͩͰ
ͳ͘ɺBigQueryAmazon DynamoDB, Cloud Spannerͱ͍ͬͨσʔλιʔεʹ ରԠ • υΩϡϝϯτΛॆ࣮ͤ͞Δػೳͱͯ͠ϝλ σʔλΛΞϊςʔγϣϯ͢Δ͜ͱ͕Մೳ • ςʔϒϧɺΧϥϜͳͲͷίϝϯτ༩͚ͩ Ͱͳ͘λάɺϦϨʔγϣϯͳͲ tbls
ܧଓతυΩϡϝϯςʔγϣϯ 31 • ैདྷσʔλϕʔεͱυΩϡϝϯτ ผͰཧ • CI্Ͱςετ༻σʔλϕʔε͔Β ςʔϒϧఆٛΛߏԽσʔλͱͯ͠ந ग़ɻͦΕʹՃͰςʔϒϧίϝϯτ ΧϥϜίϝϯτΛΞϊςʔγϣϯ͠ɺ
υΩϡϝϯτΛੜ tbls
ܧଓతυΩϡϝϯςʔγϣϯ 32 ΠϯϑϥΞʔΩςΫνϟͷ υΩϡϝϯςʔγϣϯ
ܧଓతυΩϡϝϯςʔγϣϯ 33 ndiag
ܧଓతυΩϡϝϯςʔγϣϯ 34 • https://github.com/k1LoW/ndiag • ओʹΠϯϑϥͷϋΠϨϕϧΞʔΩςΫ νϟͷυΩϡϝϯτΛੜ͢ΔతͰ։ ൃ • YAML͔ΒʮߏਤΛੜ͢ΔʯͰ
ʮυΩϡϝϯτΛੜ͢ΔʯͰͳ͘ ʮෳͷΓޱͰߏਤΛؚΉΩϡϝϯ τͷܗΛ࡞Δʯͱ͍͏ಛΛ࣋ͭ • ֤ߏཁૉάϧʔϓʹΞϊςʔγϣϯ Λॻ͘͜ͱͰυΩϡϝϯτͱཱͯ͠͞ ͤΔ ndiag
ܧଓతυΩϡϝϯςʔγϣϯ 35 • γεςϜͱυΩϡϝϯτͷؔ࿈෦ ʮߏԽσʔλΛநग़͢ΔʯͰͳ ͘ɺൺֱػೳ·Ͱ • ୯७ʹɺରͱ͍ͯ͠ΔγεςϜ ͕ඇৗʹෳࡶͰ͔ͭଟذʹΘͨ ΔͨΊ
• વndiagͷೖྗYAMLͳͷͰɺγε ςϜ͔ΒใΛߏԽσʔλΛநग़͢ ΔεΫϦϓτ͕࡞ΕΕɺͦΕΛ ndiagͷೖྗʹ͢Δ͜ͱ͕Մೳ ndiag
·ͱΊ 36
·ͱΊ 37 • ։ൃ։࢝·ͰͷΦʔόʔϔουͷݮͷͨΊʹʮܧଓతʹʯʮγεςϜͷཧղΛ ॿ͚ΔʯυΩϡϝϯτ͕ඞཁ • ʮܧଓతʹɺؒҧ͍ͷͳ͍ेͳυΩϡϝϯτΛଘࡏ͠ଓ͚ͤ͞Δʯͱʮγες Ϝ͕มԽͯ͠γεςϜͱυΩϡϝϯτͷဃΛେ͖͘͠ͳ͍ʯͱ͍͏͜ͱ • γεςϜͷมԽͱ࿈ಈͨ͠ߏԽσʔλΛͬͯυΩϡϝϯτͷܗΛੜ͢Δ͜
ͱͰɺγεςϜͷมԽ͕υΩϡϝϯτʹө͞ΕΔΈΛߏஙͰ͖Δ • ্هͷΈΛιϑτΣΞʹΑΓࣗಈԽɺ͞ΒʹCI/CDͷΈʹࡌͤΔ͜ͱͰɺ γεςϜͱυΩϡϝϯτͷဃΛݶΓͳ͘ܧଓతʹখ͘͞อͭ͜ͱ͕ՄೳʹͳΔ ·ͱΊ
·ͱΊ 38 • γεςϜͷมԽͱ࿈ಈͨ͠ߏԽσʔλΛͬͯυΩϡϝϯτͷܗγεςϜͷมԽʹ ै͢ΔΑ͏ʹͳͬͨɻ • ݱঢ়ɺͦΕΒʹ༩͢ΔΞϊςʔγϣϯʢ։ൃऀ͕ॻ͘આ໌จষʣΛͲ͏ܧଓతʹॻ͍ͯ Β͏͔͕՝ • ΞϓϦέʔγϣϯͷιʔείʔυͱಉ͡Α͏ͳΞϓϩʔνͱͯ͠ɺΧόϨοδͷܭଌ
ΧόϨοδύʔηϯςʔδʹΑͬͯCIΛFailͤ͞ΔΈͳͲ͕ߟ͑ΒΕΔ • tblsndiagυΩϡϝϯτͷΧόϨοδܭଌͰ͖ΔΑ͏ʹͳ͍ͬͯΔ • ΑΓϞνϕʔγϣϯΛͬͯॻ͍ͯΒ͏ΈɺΑΓॻ͖͘͢ͳΔΈߟ͑ͯ ͍͖͍ͨ • ࠶ܝ: ηΩϡϦςΟʹ͓͚ΔDevSecOpsηΩϡϦςΟγϑτϨϑτɺ Developer-First Securityͱಉ͡ ࠓޙͷ՝
39 Thank You! Thank You!