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
AWS CDKとGitHubActionsで始めるInfrastructure as Cod...
Search
ShuyaKinjo
July 20, 2022
Technology
1
7.3k
AWS CDKとGitHubActionsで始めるInfrastructure as CodeのCI/CD
「Developers.IO 2022 〜技術で心を揺さぶる3日間〜」 の発表で利用した資料です
■Youtube動画
https://youtu.be/EpiGUb50bIE
ShuyaKinjo
July 20, 2022
Tweet
Share
More Decks by ShuyaKinjo
See All by ShuyaKinjo
新規案件の立ち上げ専門チームから見たAI駆動開発の始め方
shuyakinjo
0
790
書き捨てではなく継続開発可能なコードをAIコーディングエージェントで書くために意識していること
shuyakinjo
1
370
AIネイティブの全く新しい統合開発環境 「GitHub Copilot Workspace」で考える AIコーディングエージェントの開発生産性
shuyakinjo
0
800
AWS CDKのConstruct IDはどのように命名するべきか?
shuyakinjo
1
640
GitHub Copilot Workspace で我々のアプリ開発がどう変わるのか?
shuyakinjo
4
18k
生成AIで構築する自律型企業調査アシスタント
shuyakinjo
0
1.1k
SSMパラメーターストアでクロススタック参照の罠を回避する
shuyakinjo
2
19k
20221213_reCap__期待の統合DevOpsサービス_Amazon_CodeCatalyst.pdf
shuyakinjo
0
40
Other Decks in Technology
See All in Technology
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
450
💡Ruby 川辺で灯すPicoRubyからの光
bash0c7
0
120
5分でカオスエンジニアリングを分かった気になろう
pandayumi
0
250
Android Audio: Beyond Winning On It
atsushieno
0
2.4k
研究開発と製品開発、両利きのロボティクス
youtalk
1
530
AIエージェント開発用SDKとローカルLLMをLINE Botと組み合わせてみた / LINEを使ったLT大会 #14
you
PRO
0
130
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
470
AI時代を生き抜くエンジニアキャリアの築き方 (AI-Native 時代、エンジニアという道は 「最大の挑戦の場」となる) / Building an Engineering Career to Thrive in the Age of AI (In the AI-Native Era, the Path of Engineering Becomes the Ultimate Arena of Challenge)
jeongjaesoon
0
230
slog.Handlerのよくある実装ミス
sakiengineer
4
430
「全員プロダクトマネージャー」を実現する、Cursorによる仕様検討の自動運転
applism118
22
12k
RSCの時代にReactとフレームワークの境界を探る
uhyo
10
3.5k
AI開発ツールCreateがAnythingになったよ
tendasato
0
130
Featured
See All Featured
Become a Pro
speakerdeck
PRO
29
5.5k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Agile that works and the tools we love
rasmusluckow
330
21k
Facilitating Awesome Meetings
lara
55
6.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Faster Mobile Websites
deanohume
309
31k
How STYLIGHT went responsive
nonsquared
100
5.8k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.9k
Designing for Performance
lara
610
69k
Transcript
$9ࣄۀຊ෦%FMJWFSZ෦."%άϧʔϓ ۚल࠸ "84$%,ͱ(JU)VC"DUJPOTͰ࢝ΊΔ *OGSBTUSVDUVSFBT$PEFͷ$*$%
ࣗݾհ w $9ࣄۀຊ෦%FMJWFSZ෦."%άϧʔϓ w αʔόʔαΠυΤϯδχΞ w "1/"--"84$FSUJGJDBUJPOT&OHJOFFST w ͖ͳ"84ͷαʔϏε
w "84$%,ɺ$MPVE'PSNBUJPO w $PEFγϦʔζ ۚल࠸ 4IVZB,JOKP @joe-king-sh
"84ͷϦιʔεΛ ͲͷΑ͏ʹཧ͍ͯ͠·͔͢ʁ
"84ͷϦιʔεཧํ๏ Ϛωδϝϯτίϯιʔϧ "84$-* *OGSBTUSVDUVSFBT$PEF *B$
"84ͷϦιʔεཧํ๏ Ϛωδϝϯτίϯιʔϧ "84$-* *OGSBTUSVDUVSFBT$PEF *B$ ͍ࣺͯɺ΄ͱΜͲมߋ͠ͳ͍߹
"84ͷϦιʔεཧํ๏ Ϛωδϝϯτίϯιʔϧ "84$-* *OGSBTUSVDUVSFBT$PEF *B$ ఆظతʹ࣮ߦ͢Δӡ༻ɺॳظߏஙͷΈ
͜͏ߟ͍͑ͯΔͳΒ ܧଓతʹมߋ͕ඞཁ ӡ༻Λָʹ͍ͨ͠ ։ൃεϐʔυΛ্͍͛ͨ
Infrastructure as Code(IaC)͕ ͋ͳͨΛͤʹͯ͘͠Ε·͢☺
"84ͷϦιʔεཧํ๏ Ϛωδϝϯτίϯιʔϧ "84$-* *OGSBTUSVDUVSFBT$PEF *B$ ܧଓతʹมߋ͕ඞཁɺӡ༻Λָʹ͍ͨ͠ɺ։ൃΛ্͍͛ͨ
ͦͷ*B$Λ Ͳ͏ͬͯσϓϩΠ͢Δ͔ʁ
ܧଓతʹมߋ͕ඞཁͳIaCͷσϓϩΠΛ ʮखಈʯͰߦ͍ͬͯΔ߹…
IaCͷޮՌΛ࠷େݶʹൃشͰ͖͍ͯ·ͤΜ
͔ͤͬ͘IaCԽͯ͠࡞ۀΛࣗಈԽ͢ΔͳΒɺ ࠷ޙͷσϓϩΠ·ͰࣗಈԽ͠·͠ΐ͏🚀
͜Ε͔Β͢༰ ͳͥ*B$$*$%ʹͤΔ͖͔ʁ Ͳ͏ͬͯ*B$ $*$%Λߏங͍ͯ͘͠ͷ͔ʁ *B$πʔϧ
ϦϙδτϦɺ$*πʔϧ ΞϓϦͱΠϯϑϥͷίʔυཧ ϒϥϯνઓུ *B$ $*$%ߏͷ۩ମྫ
͜Ε͔Β*B$Λಋೖ͢Δํ *B$$*$%ߏஙͷϋʔυϧΛԼ͛Δ $*$%ͷߏஙΛηοτͰߟ͍͑ͯͨͩ͘ ͢Ͱʹ*B$$*$%ΛಋೖࡁΈͷํ طଘͷӡ༻ݟ͠ͷ͖͔͚ͬͱͳΔ ࠓޙͷݕ౼࣌ͷબࢶΛ૿͢ ຊηογϣϯͷΰʔϧ
͋ͳͨͷ৫ʹ߹ͬͨɺ ࠷దͳIaCͱCI/CDͷߏஙํ๏Λ Ұॹʹߟ͍͖͑ͯ·͠ΐ͏😄
*B$ʹԿΛٻΊΔͷ͔ʁ
*B$ͰಘΒΕΔͷ Πϯϑϥͷόʔδϣϯཧ มߋ༰ͷίʔυϨϏϡʔ ਓతϛεͷݮ มߋཧ ߏཧ ։ൃεϐʔυ ίʔυΛಡΊΠϯϑϥߏ͕Θ͔Δ ΠϯϑϥΛҰݩཧ
࠶ݱੑͷ͋ΔσϓϩΠ ૉૣ͍σϓϩΠɾϩʔϧόοΫ ༰қʹڥΛෳ
ຊʹͦ͏Ͱ͠ΐ͏͔🤔
ྫ͑ɺ͜ΜͳखಈσϓϩΠΛͯ͠Δͱʜ લఏɿ$MPVE'PSNBUJPOͰ*B$Խ ᶃϩʔΧϧ1$͔Β"84$-*ͰσϓϩΠ ᶄσϓϩΠڥ͝ͱʹύϥϝʔλʔΛ্ॻ͖ ᶅελοΫؒʹґଘ͕ؔ͋ΔɺσϓϩΠखॱ͕ෳࡶ
ᶃϩʔΧϧ1$͔Β"84$-*ͰσϓϩΠ ϦϞʔτϦϙδτϦ͔Β࠷৽ίʔυΛऔಘ ϩʔΧϧͰίʔυΛमਖ਼ $-*Ͱຊ൪ڥσϓϩΠ ͠ϦϞʔτνΣοΫΠϯΛΕΔͱʜ
͠ϦϞʔτνΣοΫΠϯΛΕΔͱʜ ࠷৽ιʔεͱΠϯϑϥ͕ဃ͠ɺ ࠷ѱͷ߹σάϨ͕ൃੜ͠·͢⚠
*B$͚ͩͰอূ͞Εͳ͍ͷ Πϯϑϥͷόʔδϣϯཧ มߋ༰ͷίʔυϨϏϡʔ ਓతϛεͷݮ มߋཧ ߏཧ ։ൃεϐʔυ ίʔυΛಡΊΠϯϑϥߏ͕Θ͔Δ ΠϯϑϥΛҰݩཧ
࠶ݱੑͷ͋ΔσϓϩΠ ૉૣ͍σϓϩΠɾϩʔϧόοΫ ༰қʹڥΛෳ
ᶄσϓϩΠڥ͝ͱʹύϥϝʔλʔΛ্ॻ͖ $MPVE'PSNBUJPOͷύϥϝʔλʔΛखಈઃఆ ڥ͝ͱʹύϥϝʔλʔίʔυԽ͍ͯ͠Δ͕ɺ EFW TUH QSEͱ͍ͬͨڥΛखಈͰࢦఆ BXTDMPVEGPSNBUJPOEFQMPZa UFNQMBUF fi
MFUFNQMBUFZBNMa QBSBNFUFSPWFSSJEFTFOWJSPONFOUQSEa TUBDLOBNF.Z4UBDL
σϓϩΠઃఆΛؒҧ͑Δͱʜ ҙਤ͠ͳ͍Ϧιʔεͷઃఆมߋɺ σϓϩΠઌͷڥΛޡΓ·͢😨
*B$͚ͩͰอূ͞Εͳ͍ͷ Πϯϑϥͷόʔδϣϯཧ มߋ༰ͷίʔυϨϏϡʔ ਓతϛεͷݮ มߋཧ ߏཧ ։ൃεϐʔυ ίʔυΛಡΊΠϯϑϥߏ͕Θ͔Δ ΠϯϑϥΛҰݩཧ
࠶ݱੑͷ͋ΔσϓϩΠ ૉૣ͍σϓϩΠɾϩʔϧόοΫ ༰қʹڥΛෳ
ᶅελοΫؒʹґଘ͕ؔ͋ΔɺσϓϩΠखॱ͕ෳࡶ VPC Database API GW Lambda
ελοΫؒʹґଘ͕ؔ͋ΔɺσϓϩΠखॱ͕ෳࡶ σϓϩΠ͕ਏ͍ ͢ͷͬͱਏ͍😢
*B$͚ͩͰอূ͞Εͳ͍ͷ Πϯϑϥͷόʔδϣϯཧ มߋ༰ͷίʔυϨϏϡʔ ਓతϛεͷݮ มߋཧ ߏཧ ։ൃεϐʔυ ίʔυΛಡΊΠϯϑϥߏ͕Θ͔Δ ΠϯϑϥΛҰݩཧ
࠶ݱੑͷ͋ΔσϓϩΠ ૉૣ͍σϓϩΠɾϩʔϧόοΫ ༰қʹڥΛෳ
͜ΕΒ*B$ $*$%ͰॳΊͯอূ͞ΕΔͷͰ͢ Πϯϑϥͷόʔδϣϯཧ มߋ༰ͷίʔυϨϏϡʔ ਓతϛεͷݮ มߋཧ ߏཧ ։ൃεϐʔυ ίʔυΛಡΊΠϯϑϥߏ͕Θ͔Δ
ΠϯϑϥΛҰݩཧ ࠶ݱੑͷ͋ΔσϓϩΠ ૉૣ͍σϓϩΠɾϩʔϧόοΫ ༰қʹڥΛෳ ※खಈͰAWS৮Βͳ͍ͱ͍͏લఏ༗Γ
ͬͱྑ͍͜ͱ͋Γ·͢
*B$ $*$%ͰಘΒΕΔͷ Ћ Πϯϑϥͷόʔδϣϯཧ มߋ༰ͷίʔυϨϏϡʔ ਓతϛεͷݮ มߋཧ ߏཧ ։ൃεϐʔυ
ίʔυΛಡΊΠϯϑϥߏ͕Θ͔Δ ΠϯϑϥΛҰݩཧ ࠶ݱੑͷ͋ΔσϓϩΠ ૉૣ͍σϓϩΠɾϩʔϧόοΫ ༰қʹڥΛෳ ࣗಈςετ ࠪରԠ ΞΫηεݖݶཧ Ҿܧ͕؆୯
CI/CD·Ͱඋͯ͠ IaCΛ࠷େݶʹ׆༻͠·͠ΐ͏🎉
࣍ ͳͥ*B$$*$%ʹͤΔ͖͔ʁ Ͳ͏ͬͯ*B$ $*$%Λߏங͍ͯ͘͠ͷ͔ʁ *B$πʔϧ
ϦϙδτϦɺ$*πʔϧ ΞϓϦͱΠϯϑϥͷίʔυཧ ϒϥϯνઓུ *B$ $*$%ߏͷ۩ମྫ
*B$ $*$%ߏஙͷݕ౼ϙΠϯτ Ͳͷ*B$πʔϧΛ͏ʁ ϦϙδτϦɾ$*πʔϧԿΛબͿʁ ΞϓϦͱΠϯϑϥ͚Δʁ
ϒϥϯνઓུͲ͏͢Δʁ
"84ϦιʔεΛཧ͢Δ*B$πʔϧͷྫ AWS SAM AWS CDK CloudFormation
πʔϧબఆͷ؍ ΠϯϑϥͷཧऀνʔϜͷεΩϧηοτ ߏங͢ΔΞϓϦέʔγϣϯͷछྨ *5౷੍ํ ϚϧνΫϥυఆͷ༗ແͳͲ Ͳͷ*B$πʔϧΛ͏͔ʁ CloudFormation AWS SAM
AWS CDK
Ͳͷ*B$πʔϧΛ͏͔ʁ AWS CDK "84$%,ҎԼͷͰΦεεϝͰ͢ ։ൃεϐʔυΛ্ͤ͞Δ มߋࠩͷࢹೝੑ͕ྑ͍ *B$Λॻָ͍͍͍ͯͯ͠ ιϑτΣΞΤϯδχΞͱͷੑ͕ߴ͍ *B$ͷςελϏϦςΟ͕ߴ͍
ϓϩάϥϛϯάݴޠͰ"84ͷΠϯϑϥΛهड़ 5ZQFTDSJQU 1ZUIPO +BWB (P /&5 ιʔείʔυ͔Β$MPVE'PSNBUJPOςϯϓϨʔτΛੜͯ͠σϓ ϩΠ ϕετϓϥΫςΟεʹԊͬͨܗͰΠϯϑϥ͕நԽ͞Ε͍ͯͯɺ গͳ͍ίʔυͰΠϯϑϥ͕ఆٛՄೳ
ΦʔτίϯϓϦʔτ੩తܕղੳͳͲΤσΟλͷԸܙ͕ಘΒΕΔ Ϧιʔεͷ୯ମςετΛ$*Ͱճ͢͜ͱ͕Ͱ͖·͢ "84$%,ͱ AWS CDK
4OBQTIPU5FTUJOH $MPVE'PSNBUJPOςϯϓϨʔτͷมߋݕ $%,ͷόʔδϣϯΞοϓ࣌ͷมߋ֬ೝ 'JOFHSBJOFE"TTFSUJPOT ఆٛͨ͠Πϯϑϥ͕ҙਤ௨Γ͔୯ମςετ $%,ͷ"TTFSUJPOTϞδϡʔϧΛ༻ "84$%,Λͬͨ*B$ͷςετ
ྫ͑ɺҎԼͷΑ͏ͳ୯ମςετ͕ՄೳͰ͢ ຊ൪ڥͰ%#ͷআϙϦγʔΛ3&5"*/ʹ͓͖͍ͯͨ͠ "VUP4DBMJOH(SPVQͷ࠷খҎ্Λอূ͍ͨ͠ ։ൃڥͷΠϯελϯελΠϓUNFEJVN·Ͱ "84$%,ͷ'JOFHSBJOFE"TTFSUJPOT
"84$%,Λ৮ͬͨ͜ͱ͕ͳ͍ํ $%,ϫʔΫγϣοϓ͔Βࢼͯ͠Έ͍ͩ͘͞ IUUQTDELXPSLTIPQDPN
*B$ $*$%ߏஙͷݕ౼ϙΠϯτ Ͳͷ*B$πʔϧΛ͏ʁ ϦϙδτϦɾ$*πʔϧԿΛબͿʁ ΞϓϦͱΠϯϑϥ $%,
ͷιʔεཧҰॹʁผʑʁ ϒϥϯνઓུͲ͏͢Δʁ
Կͷ(JUϗεςΟϯάαʔϏεΛ͏͔ CodeCommit GitHub BitBucket FUDʜ
Ͳͷ$*πʔϧΛબ͢Δ͔ CodeCommit GitHub BitBucket CodePipeline #JU#VDLFU 1JQFMJOFT (JU-BC 3VOOFS
ҎԼͷΑ͏ͳ؍ͰબΜͰ͍͖·͢ (JUͷ͍͢͞ 1VMM3FRVFTUϨϏϡʔɺλά͚ɺ3FWFSUͳͲ(6*ͷૢ࡞ײ (JUҎ֎ͷػೳ֎෦αʔϏε࿈ܞ λεΫཧɺϓϩδΣΫτཧɺφϨοδཧػೳ ࿈ܞ͢Δ$*πʔϧʹԿΛ͍͍͔ͨ *5౷੍ํ ೝূใͷཧɺ4BB4ར༻Մ൱ Կͷ(JUϗεςΟϯάαʔϏεΛ͏͔
(JU)VC͕ఏڙ͢ΔϫʔΫϑϩʔαʔϏε ϫʔΫϑϩʔΛ:".-Ͱఆٛ͢Δ 1VTIɺ*TTVFɺ1VMM3FRVFTUɺ3FMFBTFͳͲɺ (JU)VCϓϥοτϑΥʔϜͷ༷ʑͳΠϕϯτͰىಈ 0*%$Ͱ(JU)VCଆʹ"84ͷӬଓతͳΫϨσϯγϟϧ͕ෆཁ 1VCMJDϦϙδτϦແྉɺ1SJWBUFϓϥϯʹԠͨ͡Ұఆ࣌ؒແྉ (JU)VC"DUJPOT
ҎԼͷߏΛத৺ʹઆ໌͍͖ͯ͠·͢ ຊηογϣϯͰऔΓѻ͏ߏ GitHub 4PVSDF #VJME 5FTU %FQMPZ AWS CDK
*B$ $*$%ߏஙͷݕ౼ϙΠϯτ Ͳͷ*B$πʔϧΛ͏ʁ ϦϙδτϦɾ$*πʔϧԿͰબͿʁ ΞϓϦͱΠϯϑϥ $%,
ͷιʔεཧҰॹʁผʑʁ ϒϥϯνઓུͲ͏͢Δʁ
ΠϯϑϥͱΞϓϦέʔγϣϯͰɺσϓϩΠͷϥΠϑαΠΫϧ͕ Ұॹͷ߹ɺಉ͡ϦϙδτϦͰཧͨ͠ํ͕߹͕ྑ͍Ͱ͢ɻ ྫ 41"Λ$MPVE'SPOUͰ৴ "1*(BUFXBZ -BNCEBɺ4UFQ'VODUJPOT -BNCEBͳͲͷαʔόϨε ಉ͡ϦϙδτϦͰཧ͖͢߹
ΠϯϑϥͱΞϓϦέʔγϣϯͰ୲νʔϜ͕͔Ε͍ͯΔ ߹ɺσϓϩΠύΠϓϥΠϯ͕ผͷ߹ɺผϦϙδτϦͰ ཧ͢Δ͜ͱʹͳΓ·͢ɻ ྫ ΠϯϑϥͷཧΠϯϑϥνʔϜ ίϯςφΠϝʔδͷϏϧυΞϓϦνʔϜ ผͷϦϙδτϦͰཧ͖͢߹
*B$ $*$%ߏஙͷݕ౼ϙΠϯτ Ͳͷ*B$πʔϧΛ͏ʁ ϦϙδτϦɾ$*πʔϧԿͰબͿʁ ΞϓϦͱΠϯϑϥ $%,
ͷιʔεཧҰॹʁผʑʁ ϒϥϯνઓུͲ͏͢Δʁ
දతͳϒϥϯνઓུ (JU'MPX (JU)VC'MPX (JU-BC'MPX τϥϯΫϕʔε։ൃ
(JU'MPX NBJOɺEFWFMPQͷӬଓϒϥϯνͱɺػೳ࣮ ༻ͷGFBUVSFϒϥϯνɺϦϦʔεSFMFBTFϒϥ ϯνɺۓٸରԠIPU fi YΛΔӡ༻ NBJO·ͰϚʔδͷ͕͔͔࣌ؒΓɺίϯϑϦΫ τղফͷίετ͕ߴ͍ ӡ༻͕ෳࡶ
ϦϦʔελΠϛϯά͕ܾΊΒΕ͍ͯΔ ִ͕ؒ ͍ ɺϦϦʔε༰Λࣗ༝ʹίϯτϩʔϧ͠ ͍ͨ߹͖ SFGIUUQTOWJFDPNQPTUTBTVDDFTTGVMHJU CSBODIJOHNPEFM
(JU)VC'MPX (JU)VCͷ։ൃͰ༻͞Ε͍ͯΔઓུ NBJOͱػೳ࣮༻ͷϒϥϯνͷΈͰӡ༻͢Δ খ͍͞มߋΛεϐʔυײΛ࣋ͬͯ܁Γฦ͢։ൃ͖ ӡ༻͕γϯϓϧ main feature/aaa
(JU-BC'MPX (JU-BCͷ։ൃͰ༻͞Ε͍ͯΔઓུ NBJOͱTUBHJOHQSPEVDUJPOͳͲɺ֤ڥ͝ͱʹϒϥϯνΛΓɺ ։ൃεςʔδϯάຊ൪ɹͱ͍ͬͨॱͰϚʔδΛ͢Δ͜ͱͰɺ֤ ڥʹσϓϩΠΛల։͢Δɻ (JU)VC'MPXͷΑ͏ʹӡ༻γϯϓϧ͕ͩɺϦϦʔελΠϛϯάͱ༰Λ ίϯτϩʔϧ͢Δ͜ͱ͕Ͱ͖Δ main staging
production feature
τϥϯΫϕʔε։ൃ (JU)VC'MPXͷػೳϒϥϯν͕͞Βʹ໋Խͨ͠ͷ σϓϩΠͱϦϦʔεΛ͍ͨ͠߹ɺϑΟʔνϟʔϑϥάΛ༻͍Δ ίϯϑϦΫτղফͳͲɺແବͳ࡞ۀΛݮͰ͖Δ Πϯϑϥ୯ମཧͩͱϦϦʔελΠϛϯάௐͰ૬ੑ͕ѱ͍ ΞϓϦͱΠϯϑϥΛಉࠝ͢ΔέʔεͰ͋Εੵۃతʹ࠾༻͍ͨ͠ main feature/aaa 1~2
days
ϒϥϯνઓུΛෳࡶ͞Ͱฒͼସ͑Δͱ (JU'MPX (JU-BC'MPX (JU)VC'MPXɺτϥϯΫϕʔε։ൃ ୯७ ෳࡶ
ϒϥϯνઓུΛෳࡶ͞Ͱฒͼସ͑Δͱ (JU'MPX (JU-BC'MPX (JU)VC'MPXɺτϥϯΫϕʔε։ൃ ୯७ ෳࡶ
·ͣ୯७ͳͷ͔Βࢼͯ͠Έ·͠ΐ͏
࣍ ͳͥ*B$$*$%ʹͤΔ͖͔ʁ Ͳ͏ͬͯ*B$ $*$%Λߏங͍ͯ͘͠ͷ͔ʁ *B$πʔϧ
ϦϙδτϦɺ$*πʔϧ ΞϓϦͱΠϯϑϥͷίʔυཧ ϒϥϯνઓུ *B$ $*$%ߏͷ۩ମྫ
ҎԼͷΑ͏ͳαʔόϨε"1* ߏங͢ΔΞϓϦέʔγϣϯ API Gateway Lambda DynamoDB
νʔϜͷମ੍ Backend Team όοΫΤϯυνʔϜ͕ɺΞϓϦΠϯϑϥ྆ํཧ Lambda AWS CDK
όοΫΤϯυνʔϜ͕ɺΞϓϦΠϯϑϥ྆ํཧ νʔϜͷମ੍ Lambda AWS CDK Backend Team
։ൃɺεςʔδϯάɺຊ൪ڥ͕༻ҙ͞Ε͍ͯΔ ຊ൪σϓϩΠલʹεςʔδϯάڥͰखಈςετΛߦ͏ σϓϩΠઌͷڥ ։ൃ εςʔδϯά ຊ൪
ͳΔ͘୯७ʹ͍ͨ͠ ϦϦʔεͷִؒൺֱత͍ ຊ൪ϦϦʔεͷτϦΨʔखಈͰίϯτϩʔϧ͍ͨ͠ ։ൃεςʔδϯά<खಈςετ>ຊ൪σϓϩΠ ϒϥϯνͷӡ༻
࠶ܝ (JU)VC'MPX (JU)VCͷ։ൃͰ༻͞Ε͍ͯΔઓུ NBJOͱػೳ࣮༻ͷϒϥϯνͷΈͰӡ༻͢Δ খ͍͞มߋΛεϐʔυײΛ࣋ͬͯ܁Γฦ͢։ൃ͖ ӡ༻͕γϯϓϧ main feature/aaa
(JU)VCͷϦϦʔεʹ͍ͭͯ
ͳΔ͘୯७ʹ͍ͨ͠ ϦϦʔεͷִؒൺֱత͍ ຊ൪ϦϦʔεͷτϦΨʔखಈͰίϯτϩʔϧ͍ͨ͠ ։ൃεςʔδϯά<खಈςετ>ຊ൪σϓϩΠ ϒϥϯνͷӡ༻ ύΠϓϥΠϯΛׂ
εςʔδϯάڥ·ͰͷσϓϩΠύΠϓϥΠϯ GFBUVSF CSBODI ᶃPush NBJO CSBODI ᶄPull Request &
Merge ։ൃ εςʔδϯά $ cdk deploy Ϗϧυ ୯ମςετ ։ൃڥ σϓϩΠ ݁߹ςετ 45(ڥ σϓϩΠ $ cdk deploy ᶅAPIΛୟ͍ͯಈ࡞֬ೝ
ຊ൪ڥ·ͰͷσϓϩΠύΠϓϥΠϯ Ϗϧυ ୯ମςετ ຊ൪ڥ σϓϩΠ ݁߹ςετ $ cdk deploy
HTTP Request 3FMFBTF ᶄλάͱ ϦϦʔεΛ࡞ εςʔδϯά ຊ൪ ᶃखಈͰϏδωεཁ݅ͳͲΛςετ
GitHub FlowͱGitHubͷReleaseͰ ୯७ͳϒϥϯνઓུͷ··ɺ ϦϦʔελΠϛϯάΛίϯτϩʔϧͰ͖·͢
·ͱΊ
࣍ ͳͥ*B$$*$%ʹͤΔ͖͔ʁ Ͳ͏ͬͯ*B$ $*$%Λߏங͍ͯ͘͠ͷ͔ʁ *B$πʔϧ
ϦϙδτϦɺ$*πʔϧ ΞϓϦͱΠϯϑϥͷίʔυཧ ϒϥϯνઓུ *B$ $*$%ߏͷ۩ମྫ
·ͱΊ *B$$*$%·Ͱߏங͢Δ͜ͱͰɺ࠷େݶͷ ޮՌΛൃش͠·͢ ͋ͳͨͷ৫ʹ͋ͬͨ࠷దͳπʔϧɺϒϥϯ νઓུΛબΜͰɺշదͳσϓϩΠϥΠϑΛ͓ ա͍ͩ͘͝͠͞🙌
ຊηογϣϯͰৄ͘͠͞ͳ͔ͬͨ༰ "84$%,Λ৮ͬͨ͜ͱ͕ͳ͍ํ $%,ϫʔΫγϣοϓ͔Βࢼͯ͠Έ͍ͩ͘͞ (JU)VC"DUJPOTΛ৮ͬͨ͜ͱͷͳ͍ํ ΫΠοΫελʔτΛࢼͯ͠Έ͍ͯͩ͘͞ IUUQTDELXPSLTIPQDPN IUUQTEPDTHJUIVCDPNKBBDUJPOTRVJDLTUBSU
None