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
290
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
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.9k
Discover your Explorer Soul
emna__ayadi
2
1.2k
For a Future-Friendly Web
brad_frost
183
10k
First, design no harm
axbom
PRO
2
1.2k
Embracing the Ebb and Flow
colly
88
5.1k
The Pragmatic Product Professional
lauravandoore
37
7.3k
Documentation Writing (for coders)
carmenintech
77
5.4k
Designing for humans not robots
tammielis
254
26k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
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