Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GitHub Actionsで多環境の運用管理を簡単にする
Search
Kohei Kojima
November 05, 2025
300
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GitHub Actionsで多環境の運用管理を簡単にする
開発生産性と開発者体験を改善するための勉強会の資料
https://yumemi.connpass.com/event/371982/
Kohei Kojima
November 05, 2025
More Decks by Kohei Kojima
See All by Kohei Kojima
GitHub ActionsからTerraform Planするお話
k_kojima_yumemi
1
200
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
6.3k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
700
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
970
Designing for Performance
lara
611
70k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.1k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
230
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
520
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
430
Transcript
| CONFIDENTIAL (JU)VC"DUJPOTͰଟڥͷӡ༻ཧΛ؆୯ʹ͢Δ !LLPKJNBZVNFNJ
| CONFIDENTIAL 2 • ڥ͕ଟ͋Δࡍͷɺڥ͝ͱͷαʔόʔͷϚελઃఆ͕େม • ఆ • "ࣾ༻ɺ#ࣾ༻ͱ͔Ε͍ͯΔ •
ͦΕͧΕʹ%FW 4UH 1SPE͕ଘࡏ͢Δ • Ϛελઃఆࣗମ֎͔ΒมߋͰ͖Δ • ఆ • %# • 4ͳͲʹஔͨ͠+40/ ՝
| CONFIDENTIAL 3 • ڥ͕ଟ͋Δࡍͷɺڥ͝ͱͷαʔόʔͷϚελઃఆ͕େม • ఆ • "ࣾ༻ɺ#ࣾ༻ͱ͔Ε͍ͯΔ •
ͦΕͧΕʹ%FW 4UH 1SPE͕ଘࡏ͢Δ • Ϛελઃఆࣗମ֎͔ΒมߋͰ͖Δ • ఆ • %# • 4ͳͲʹஔͨ͠+40/ ՝ $*͔Βߋ৽Ͱ͖Δ ΈΛೖΕΑ͏
| CONFIDENTIAL 4 • ө࿙Ε͕ͳͤ͘Δ • өઌͷ͕%FW 4UH 1SPEͱ͓٬༷ͷͷֻ͚ࢉʹͳΔ •
өͷݮʹͭͳ͕Δ • ڥ͝ͱͷઃఆͷࠩΛͳ͍͘͢͠ • ݸͷϑΝΠϧΛશڥͰݟΔΑ͏ʹ͢Εࠩͳͤ͘Δ • (JU)VCͳͲͷ$*Λ༻͢Δ߹ ௨ৗ௨ΓͷϨϏϡʔϓϩηεΛ౿Ή͜ͱ͕Ͱ͖Δ • ͲͷΑ͏ͳઃఆʹͳ͍ͬͯΔ͔ϑΝΠϧͱ͍ͯ͢͠͠ $*͔Βߋ৽͢ΔϝϦοτ Կ͕͏Ε͍͠ͷ͔ ϝϦοτ
| CONFIDENTIAL 5 • $*͕ࣦഊ͢ΔϦεΫʹඋ͑Δඞཁ͕͋Δ • લஈͷϓϩηε͕ωοτϫʔΫΤϥʔͰࣦഊͨ͠ • ߋ৽தʹΤϥʔ͕ൃੜͨ͠ •
FUD • ˠ ߋ৽Λႈʹ͢Δ͜ͱͰϦτϥΠͰ͖ΔΑ͏ରԠ • ߋ৽ॱʹؾΛΔඞཁ͕͋Δ • %&7ˠ 45(ˠ 130%ͷߋ৽ͷதʹɺίʔυߋ৽͕ೖΔͱ%&7Ͱະөͷઃఆ ্͕Ґʹೖͬͯ͠·͏ • ˠ ϒϥϯνΛ͚ΔͳͲͯ͠༧͢Δ $*͔Βߋ৽͢ΔσϝϦοτ Կ͕͏Ε͘͠ͳ͍ͷ͔ σϝϦοτ
| CONFIDENTIAL 6 ࣗಈөͷϓϩηε %&7ڥͷࣗಈөϓϩηεͷྫ มߋΛ࡞͢Δ 13Λ࡞͢Δ
ϨϏϡʔ͠ɺ"QQSPWF͢Δ NBJOʹϚʔδ͢Δ $*͕ൃՐ͠ɺ%FWڥʹࣗಈө͞ΕΔ
| CONFIDENTIAL 7 ࣗಈөͷϓϩηε 13ͷྫ • ߋ৽͕Θ͔Γ͍͢ • ҙਤ͠ͳ͍ߋ৽͕ೖΔ͜ͱΛ͗͘͢ͳΔ
| CONFIDENTIAL 8 ҎԼͷॲཧͰߋ৽͍ͯ͘͠ • ରͷڥͷΞΫηε • ࠓճ"84Λఆ • Ϛελઃఆͷߋ৽ॲཧ
• 4ʹஔͨ͠ϑΝΠϧ • .Z42- $*ͷϓϩηε
| CONFIDENTIAL 9 ରͷڥͷΞΫηε $*ͷϓϩηε "84ͳΒ BXTBDUJPOTDPOGJHVSFBXTDSFEFOUJBMTͷBDUJPOTΛ༻Ͱ͖Δ • ݖݶߋ৽༰ʹ߹ΘͤదͳͷΛઃఆ -
uses: aws-actions/configure-aws-credentials@v4 with: aws-region: 'us-east-1' role-to-assume: ${{ secrets.AWS_IAM_ROLE }} role-session-name: ‘Update' mask-aws-account-id: true retry-max-attempts: 3
| CONFIDENTIAL 10 Ϛελઃఆͷߋ৽ॲཧ $*ͷϓϩηε 4ϑΝΠϧΛΞοϓϩʔυ͢Δ • BXT TTZODͷίϚϯυΛ༻ •
IUUQTEPDTBXTBNB[PODPNDMJMBUFTUSFGFSFODFTTZODIUNM • ͜ΕͰϑΝΠϧΛΞοϓϩʔυ͢Δ • EFMFUFΛ͚ͭΔ͜ͱͰϑΝΠϧͷআͰ͖Δ • ႈͳॲཧͳͷͰΤϥʔ࣌ʹϦτϥΠ͢Ε0, - run: aws s3 sync "./images" "${S3_DESTINATION}/assets/images/"
| CONFIDENTIAL 11 Ϛελઃఆͷߋ৽ॲཧ $*ͷϓϩηε .Z42-ͷߋ৽ • 42-Λ༻ҙ͠ɺ*/4&350/%61-*$"5&,&:61%"5&ͱ%&-&5&Λ༻ • ႈʹد͍ͤͯͨ͘Ί
• खಈͰߋ৽͠ͳ͚Ε42-͕ਖ਼ʹͳΔ INSERT INTO app_versions (os_type, app_version) VALUES ('android', '1.0.0'), ('ios', '1.0.0'), ('android', '1.1.0'), ('android', '2.0.0'), ('ios', '2.0.0') AS inserting ON DUPLICATE KEY UPDATE os_type=inserting.os_type, app_version=inserting.app_version;
| CONFIDENTIAL 12 Ϛελઃఆͷߋ৽ॲཧ $*ͷϓϩηε .Z42-ͷߋ৽ • ࣮ࡍʹ.Z42-ʹॻ͖ࠐΉʹ3%4ͷܦ࿏ཱ͕֬ඞཁ • 1VCMJD*1ͰΞΫηεͰ͖ΔͳΒͦΕͰ0,
• 1SJWBUF*1ͷΈͳΒ౿Έ͕ඞཁ • 44.Ͱ "844UBSU1PSU'PSXBSEJOH4FTTJPO5P3FNPUF)PTU Λ ༻͢ΔͳͲ
| CONFIDENTIAL 13 $*ͷτϦΨʔ ͍ͭ$*Λಈ͔͔͢ ݸʑͷҊ݅ͷੑ࣭ɺϒϥϯνઓུʹΑΔ͕ • %FWϒϥϯνʹ1VTI͞Εͨࡍʹࣗಈө • 4UH
1SPE XPSLGMPX@EJTQBUDI Ͱखಈө • ಛʹσϓϩΠ༻ͷϒϥϯνΛ༻ҙ͍ͯ͠ͳ͍߹खಈ͕͓͢͢Ί • ݸผϒϥϯν͕͋ΔͳΒࣗಈө͕͓͢͢Ί
| CONFIDENTIAL 14 ঝೝઃఆ $*ͷτϦΨʔ • (JU)VC"DUJPOTͷ&OWJSPONFOUTͰಛఆͷ&OWJSPONFOUTʹରͯ͠ঝೝΛඞਢʹ Ͱ͖Δ • ҙਤ͠ͳ͍өΛ͙
| CONFIDENTIAL 15 $*ͷτϦΨʔ γʔέϯε
| CONFIDENTIAL 16 ·ͱΊ $*͔ΒϚελઃఆΛߋ৽͢Δ͜ͱͰ • ө࣌ͷ࿙ΕΛݮΒ͢͜ͱ͕Ͱ͖Δ • ҆ఆͨ͠ӡӦʹͭͳ͕Δ •
ϨϏϡʔͷϓϩηεΛ౿ΊΔ • ্࣭ʹͭͳ͕Δ ͳͲɺੜ࢈ੑ։ൃऀମݧΛ্ͤ͞ΒΕΔ
| CONFIDENTIAL | CONFIDENTIAL 17