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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kohei Kojima
November 05, 2025
280
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
190
Featured
See All Featured
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
Designing for Timeless Needs
cassininazir
1
250
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
55k
Designing Experiences People Love
moore
143
24k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
160
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
How STYLIGHT went responsive
nonsquared
100
6.2k
Exploring anti-patterns in Rails
aemeredith
3
400
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
A Soul's Torment
seathinner
6
2.9k
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