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
熊でもわかるCI/CD/モダンインフラVol1:用語を覚えよう編
Search
Shohei Kobayashi
May 16, 2022
Programming
0
570
熊でもわかるCI/CD/モダンインフラVol1:用語を覚えよう編
CI/CDから最近っぽいインフラについて説明した勉強会を開きました。
用語を覚える編です。
Shohei Kobayashi
May 16, 2022
Tweet
Share
More Decks by Shohei Kobayashi
See All by Shohei Kobayashi
非同期処理実行基盤 Delayed脱出 → Solid Queue完全移行への旅路。
srockstyle
3
2.2k
熊でもわかるFIDO2
srockstyle
0
150
CI/CD/インフラ勉強会Vol4 Amazon ECS編 Part1
srockstyle
0
160
熊でもわかるCI/CD/モダンインフラ Vol3 AWS CDK
srockstyle
0
410
熊でもわかるCI/CDモダンインフラ Github Action編
srockstyle
0
400
Chefとnginxで作るPHPアプリケーションのReliable Blue Green Deployment
srockstyle
6
25k
Other Decks in Programming
See All in Programming
CSC509 Lecture 13
javiergs
PRO
0
260
複数チーム並行開発下でのコード移行アプローチ ~手動 Codemod から「生成AI 活用」への進化
andpad
0
180
レイトレZ世代に捧ぐ、今からレイトレを始めるための小径
ichi_raven
0
460
Flutterチームから作る組織の越境文化
findy_eventslides
0
510
目的で駆動する、AI時代のアーキテクチャ設計 / purpose-driven-architecture
minodriven
9
2.9k
ゼロダウンタイムでミドルウェアの バージョンアップを実現した手法と課題
wind111
0
210
TypeScript 5.9で使えるようになった import defer でパフォーマンス最適化を実現する
bicstone
1
230
GraalVM Native Image トラブルシューティング機能の最新状況(2025年版)
ntt_dsol_java
0
160
Duke on CRaC with Jakarta EE
ivargrimstad
0
130
歴史から学ぶ「Why PHP?」 PHPを書く理由を改めて理解する / Learning from History: “Why PHP?” Rediscovering the Reasons for Writing PHP
seike460
PRO
0
160
Evolving NEWT’s TypeScript Backend for the AI-Driven Era
xpromx
0
120
AIと協働し、イベントソーシングとアクターモデルで作る後悔しないアーキテクチャ Regret-Free Architecture with AI, Event Sourcing, and Actors
tomohisa
2
5.5k
Featured
See All Featured
Bash Introduction
62gerente
615
210k
What's in a price? How to price your products and services
michaelherold
246
12k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Faster Mobile Websites
deanohume
310
31k
Into the Great Unknown - MozCon
thekraken
40
2.2k
The Invisible Side of Design
smashingmag
302
51k
Being A Developer After 40
akosma
91
590k
Building Adaptive Systems
keathley
44
2.8k
Documentation Writing (for coders)
carmenintech
76
5.1k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Making Projects Easy
brettharned
120
6.5k
Transcript
༻ޠΛ֮͑Α͏ฤ 3BJMTΞϓϦͷ։ൃఔͰઆ໌͢ΔΑʂ ۽ͰΘ͔Δ$*$%ϞμϯΠϯϑϥ
զ ΤϯδχΞྺɿ͘Β͍ ۀքɿ8FC͔ͬ ݴޠɿ3VCZͱ3BJMT 1)11ZUIPO1FSM͘Β͍ʢΕ͕ͪʣ Πϯϑϥ͖ͬͯͨྺʹΤϯδχΞྺ %/4αʔόͱ͔ϝʔϧαʔό࡞ͬͯ·ͨ͠ ࠷ۙͬͺΒ3BJMT͍ͷϑϦʔϥϯεɻ ͖ͳ%/4αʔόͷϛυϧΣΞɿEKCEOT ͖ͳϝʔϧαʔόͷϛυϧΣΞɿ2NBJM
͖ͳ.Z42-ͷίϚϯυTIPXTMBWFTUBUVT ͖ͳ"84ϓϩμΫτ&MBTUJD.BQ3FEVDF ͖ͳ($1ϓϩμΫτ$MPVESVO ͖ͳ$*$%πʔϧ(JUIVC"DUJPO &$4ᘳʹཧղͨ͠ কདྷͷເηΩϡϦςΟΤϯδχΞɻ
$JSDMF$*͍͍ͧʂʂʂʂ
͍͖ͬͯ
ίί rails new ίʔυ͍ͬͺ͍͔͘ ϩʔΧϧͰʂ ʁ આ໌͢Δͱ͜Ζ ੨͍ͱ͜Ζ͕આ໌͠ͳ͍ͱ͜Ζ
ܧଓతΠϯςάϨʔγϣϯ ΦϨϯδ৭ͷՕॴͷߏཁૉ ܧଓతσϦόϦʔ ΠϯϑϥɾαʔόɾωοτϫʔΫ લͷϖʔδͷΦϨϯδ৭ΛࡉԽ ܧଓతσϓϩΠϝϯτ
ΦϨϯδ৭ͷՕॴͷҙຯ Continuous IntegrationʢܧଓతΠϯςάϨʔγϣϯʣ Continuous DeliveryʢܧଓతσϦόϦʔʣ ใγεςϜΛߏ͢ΔαʔόͳͲͷػثɺιϑτΣΞɺ௨৴ωοτϫʔΫ ܧଓతΠϯςάϨʔγϣϯ ܧଓతσϦόϦʔ ΠϯϑϥɾαʔόɾωοτϫʔΫ ܧଓతσϓϩΠϝϯτ
Continuous DeploymentʢܧଓతσϓϩΠʣ
ϞμϯΠϯϑϥΛ্͢Ͱߟ͑Δ$ͳΜͱ͔ܥ CͳΜͱ͔ܥͷจ຺ΛҰॹʹ͞ͳ͍ͱϞμϯΠϯϑϥΓཱͨͳ͍ ܧଓతΠϯςάϨʔγϣϯ ܧଓతσϦόϦʔ ΠϯϑϥɾαʔόɾωοτϫʔΫ ܧଓతσϓϩΠϝϯτ
ܧଓతΠϯςάϨʔγϣϯ ܧଓతσϦόϦʔ ΠϯϑϥɾαʔόɾωοτϫʔΫ ܧଓతσϓϩΠϝϯτ
ΞδϟΠϧ։ൃʹ͍ͭͯ $*$%$%ͷઆ໌Λ͢Δલʹ ·ͣΒͳ͍ͱ͍͚ͳ͍֓೦ʹ͍ͭͯ
ػೳΛׂ ΞδϟΠϧ։ൃͱ ։ൃ ػೳΛখׂͯ͘͞͠ɺখ͍͞୯ҐͰ։ൃɾςετɾϦϦʔεΛ͍ͯ͘͠ख๏ εΫϥϜ։ൃͱಉٛͰ͋Γ·ͤΜʢҰॹʹઆ໌͞Ε͍͚͢Ͳʣ ςετ ϦϦʔε ։ൃ ςετ ϦϦʔε
։ൃ ςετ ϦϦʔε ػೳ1 ػೳ2 ػೳ3 ։ൃ։࢝
ΞδϟΠϧ։ൃͷϝϦοτͱσϝϦοτ ͜ͷลେࣄ ཁٻมߋʹରԠ͍͢͠ ཁٻͷՃʹରԠ͍͢͠ มԽͷॊೈͳରԠ͕͍͢͠ ߴͳϦϦʔε͕͍͢͠ શମͷεέδϡʔϧ͕ཧͮ͠Β͍ ਐḿ͕ཧͮ͠Β͍ ϝϦοτ σϝϦοτ
ΞδϟΠϧ։ൃͷσϝϦοτΛղܾ͍ͨ͠ ཁٻมߋʹରԠ͍͢͠ ཁٻͷՃʹରԠ͍͢͠ มԽͷॊೈͳରԠ͕͍͢͠ ߴͳϦϦʔε͕͍͢͠ શମͷεέδϡʔϧ͕ཧͮ͠Β͍ ਐḿ͕ཧͮ͠Β͍ ϝϦοτ σϝϦοτ
ΞδϟΠϧ։ൃͷσϝϦοτղܾख๏ ܧଓతYYYYYY
$ͳΜͱ͔ܥϫʔυ ܧଓతΠϯςάϨʔγϣϯ ܧଓతσϦόϦʔ ܧଓతσϓϩΠϝϯτ 1SPEVDUJPOڥ ։ൃऀͷϩʔΧϧ
$ͳΜͱ͔ܥϫʔυ ܧଓతΠϯςάϨʔγϣϯ ܧଓతσϦόϦʔ ܧଓతσϓϩΠϝϯτ 1SPEVDUJPOڥ ։ൃऀͷϩʔΧϧ QSPEVDUJPOʹࢸΔ·ͰΛࣗಈԽ͢Δఔ͕ଟ͍ ҙຯશ෦جຊಉ͡
ྫ͑ ܧଓతΠϯςάϨʔγϣϯ ܧଓతσϦόϦʔ ܧଓతσϓϩΠϝϯτ ҙຯશ෦جຊಉ͡ ڇͷؙম͖ αʔϩΠϯεςʔΩͱλϯγνϡʔ ڇλϯমఆ৯͝൧ൈ͖ 1SPEVDUJPOڥ ։ൃऀͷϩʔΧϧ
ϩʔΧϧ͔Β1SPEVDUJPOʹࢸΔ·ͰʹΔ͜ͱ 1SPEVDUJPOڥ ։ൃऀͷϩʔΧϧ
ܧଓతYYYͷࣔ͢ൣғ 1SPEVDUJPOڥ ։ൃऀͷϩʔΧϧ ୯ମςετ ݁߹ςετ Ϗϧυ σϓϩΠ४උ σϓϩΠ ܧଓతΠϯςάϨʔγϣϯ ܧଓతσϦόϦʔ
ܧଓతσϓϩΠϝϯτ
$*$%Λཧղ্ͨ͠Ͱઆ໌͢Δ 1SPEVDUJPOڥ
ͻͱੲલͷΠϯϑϥͱݺΕΔͷجຊܥ "NB[PO&$ "QQMJDBUJPO-PBE#BMBODFS 3%4.Z42- 71$ "QQMJDBUJPO-PBE#BMBODFS "NB[PO&$ 3%4 71$ ϩʔυόϥϯαʔɻ
ΞΫηεΛෳͷαʔόʹৼΓ͚Δɻ )7.ʢϋʔυΣΞԾϚγϯʣํࣜͰԾԽ͞Εͨ-JOVYΠϯελϯεɻ શԾԽΛࠓਪ͍ͯ͠Δɻ ࠓ४ԾԽͱΦʔόʔϔουͦΜͳมΘΒͳ͍Β͍͠ɻ "84͕ఏڙ͍ͯ͠Δ.Z42-1PTUHSF42-ͷ4BB4ɻ 7JSUVBM1SJWBUF$MPVEɻཧతʹ͞Ε͍ͯΔԾωοτϫʔΫɻ
ׂͱࠓ࣌ͳΠϯϑϥͱݺΕΔͷɿجຊฤ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB 71$ "QQMJDBUJPO-PBE#BMBODFS "NB[PO&$4 3%4"VSPSB 71$ ϩʔυόϥϯαʔɻ
ΞΫηεΛෳͷίϯςφʹৼΓ͚Δɻ %PDLFSίϯςφ࣮ߦڥɻ "84͕ఏڙ͍ͯ͠Δ3%#ͷ4BB4ɻ ޓੑ͕͋Δ͚ͩͰɺ.Z42-1PTUHSF42-ͱશ͘ͷผɻ 7JSUVBM1SJWBUF$MPVEɻཧతʹ͞Ε͍ͯΔԾωοτϫʔΫɻ ·ͣجຊܥ͔Β
ׂͱࠓ࣌ͳΠϯϑϥͱݺΕΔͷɿϑϩϯτ൛ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB 71$ "84"NQMJGZ ϑϩϯτΤϯυͷߏஙʙϗετ·ͰΛ໘ݟͯ͘ΕΔπʔϧͱػೳͷ૯শɻ ػೳͷҰͭʹϑϩϯτΤϯυͷϗεςΟϯάΛߦͬͯ͘ΕΔɻ ϑϩϯτΤϯυͱόοΫΤϯυΛ͠·͢ɻ "84"NQMJGZ
ϑϩϯτΤϯυ όοΫΤϯυ ֎෦͔ΒͷΞΫηε
ׂͱࠓ࣌ͳΠϯϑϥͱݺΕΔͷɿϑϩϯτ൛ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB 71$ "NB[PO$MPVE'SPOU "84ࣗલͷ$%/ɻ ஈʹԠͯ͡"LBNBJͱ͔ʹͳΔ͜ͱ͋Δ $%/ΛڬΜͰ4ͱ͍͏ํ๏Λ͍·͢ɻ "NB[PO$MPVE'SPOU
ϑϩϯτΤϯυ όοΫΤϯυ ֎෦͔ΒͷΞΫηε "NB[PO4 "NB[PO4 ੩తϑΝΠϧΛϗεςΟϯά͢ΔͷʹΘΕΔετʔϨδαʔϏεɻ ٱੑͰམͪͳ͍ͷͰɺΠϨϒϯφΠϯͱ͔ݺΕΔ
ׂͱࠓ࣌ͳΠϯϑϥͱݺΕΔͷɿϑϩϯτ൛ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB 71$ 7FSDFM ϑϩϯτΤϯυͷϗεςΟϯάઐϓϥοτϑΥʔϜɻ 3FBDU7VFOVYUOFYUͱ͔ରԠ͍ͯ͠Δɻ ϑϩϯτΤϯυͷϗεςΟϯάͰ"84ΛΘͳ͍ख͋Γ·͢ɻ ϑϩϯτΤϯυ
όοΫΤϯυ ֎෦͔ΒͷΞΫηε
ׂͱࠓ࣌ͳΠϯϑϥͱݺΕΔͷɿϑϩϯτ͚ͩ൛ 'JSFCBTF3FBMUJNF%BUBCBTF (PPHMFͷ($1͕༻ҙ͍ͯ͠Δ'JSFCBTFʹ͋Δσʔλϕʔεɻ ϑϩϯτΤϯυͷػೳʹΑͬͯ"84ΛΘͳ͍ख͋Γ·͢ɻ ϑϩϯτΤϯυ ֎෦͔ΒͷΞΫηε $MPVE'JSFTUPSF 3FBMUJNF%BUBCBTF 'JSFCBTF$MPVE%UBCBTF ࠓճઆ໌͠·ͤΜ
ׂͱࠓ࣌ͳΠϯϑϥͱݺΕΔͷɿϑϩϯτ͚ͩ൛ FUIFSFVN ϒϩοΫνΣʔϯͷϓϥοτϑΥʔϜͷҰͭɻ εϚʔτίϯτϥΫτͰॲཧΛ͔͚ΔͷͰɺόοΫΤϯυͱͯ͑͠Δɻ εϚʔτίϯτϥΫτΛόοΫΤϯυͱͯ͠࡞ΔΞϓϦΛ%BQQTͱ͍͏ɻ ϒϩοΫνΣʔϯΛόοΫΤϯυͱͯ͠ѻ͏ͱ͜ΜͳߏʹͳͬͨΓ͠·͢ɻ ϑϩϯτΤϯυ ֎෦͔ΒͷΞΫηε ࠓճઆ໌͠·ͤΜ
$*$%ͱΠϯϑϥΛཧղ্ͨ͠Ͱઆ໌͢Δ σϓϩΠ όοΫΤϯυʹݶఆ͢ΔΑ
ιʔείʔυͷద༻ͷྲྀΕ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB ϩʔΧϧ͔Βຊ൪·Ͱͷ͓͞Β͍ɻ "NB[PO$MPVE'SPOU ϑϩϯτΤϯυ όοΫΤϯυ "NB[PO4 ։ൃऀͷϩʔΧϧ
୯ମςετ ݁߹ςετ Ϗϧυ σϓϩΠ४උ σϓϩΠ (JUIVC"DUJPO /FUXPSL $%/ ωοτϫʔΫ ετϨʔδ ϩʔυόϥϯαʔ ίϯςφ 3%#
ιʔείʔυͷద༻ͷྲྀΕ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB ࣮ࡍʹΔ͜ͱ "NB[PO$MPVE'SPOU ϑϩϯτΤϯυ όοΫΤϯυ "NB[PO4 ։ൃऀͷϩʔΧϧ
୯ମςετ ݁߹ςετ Ϗϧυ σϓϩΠ४උ σϓϩΠ CVOEMFJOTUBMM SBJMTECDSFBUF SBJMTECNJHSBUF CVOEMFFYFDSTQFD CVOEMFFYFDCSBLFNBO CVOEMFFYFDSVCPDPQ EPDLFSCVJME EPDLFSUBH EPDLFSQVTI DELEFQMPZ
ιʔείʔυͷద༻ͷྲྀΕ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB ʮܧଓతσϓϩΠϑΣʔζʯ͕ϙΠϯτ "NB[PO$MPVE'SPOU ϑϩϯτΤϯυ όοΫΤϯυ "NB[PO4 ։ൃऀͷϩʔΧϧ
୯ମςετ ݁߹ςετ Ϗϧυ σϓϩΠ४උ σϓϩΠ
σϓϩΠͷจ຺ ඍົʹݴͬͯΔ͜ͱ͕ҧ͏ ։ൃऀͷ͍͏σϓϩΠ "84ͷυΩϡϝϯτͷ͍͏σϓϩΠ खݩͷιʔείʔυΛຊ൪ʹద༻͢Δɻ %PDLFSJNBHFͱͯ͠͞ΕͨͷΛίϯςφͱͯ͠ىಈຊ൪ͷ&$4ʹϦϦʔε͢Δɻ
σϓϩΠͷจ຺ ඍົʹݴͬͯΔ͜ͱ͕ҧ͏ ίϯςφΠϝʔδ͕͋Δલఏͷ σϓϩΠͱ͍͏จ຺ͳͷͰ ͜ͷลΘ͔ΒΜͱࠞཚ͢Δ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB "NB[PO$MPVE'SPOU ϑϩϯτΤϯυ
όοΫΤϯυ "NB[PO4 σϓϩΠ ʁ
$*$%ͱΠϯϑϥͱσϓϩΠͷҙຯΛ౿·্͑ͨͰ %PDLFS*NBHF
%PDLFS*NBHFपΓͷ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB σϓϩΠ४උͷɻ ܧଓతσϦόϦʔʹ͋ͨΓ·͢ɻ "NB[PO$MPVE'SPOU ϑϩϯτΤϯυ όοΫΤϯυ "NB[PO4
։ൃऀͷϩʔΧϧ ୯ମςετ ݁߹ςετ Ϗϧυ σϓϩΠ४උ σϓϩΠ
%PDLFS*NBHFपΓͷ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB Πϝʔδ࡞ΛσϓϩΠ४උͷϑΣʔζͰΓ·͢ɻ "NB[PO$MPVE'SPOU ϑϩϯτΤϯυ όοΫΤϯυ "NB[PO4 ։ൃऀͷϩʔΧϧ
୯ମςετ ݁߹ςετ Ϗϧυ σϓϩΠ४උ σϓϩΠ EPDLFSCVJME EPDLFSUBH EPDLFSQVTI
%PDLFS*NBHFपΓͷ Πϝʔδ࡞ޙίϯςφΛཧ͢Δ3FQPTJUPSZʹQVTI͠·͢ɻ ։ൃऀͷϩʔΧϧ ୯ମςετ ݁߹ςετ Ϗϧυ σϓϩΠ४උ σϓϩΠ EPDLFSCVJME EPDLFSUBH
EPDLFSQVTI 1SPEVDUJPOڥ %PDLFS3FQPTJUPSZ
ͦͯ͠"84ͷσϓϩΠͷจ຺ ඍົʹݴͬͯΔ͜ͱ͕ҧ͏ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB "NB[PO$MPVE'SPOU ϑϩϯτΤϯυ όοΫΤϯυ "NB[PO4 σϓϩΠ
%PDLFS3FQPTJUPSZ QVTI͞ΕͨΠϝʔδΛͬͯ ίϯςφΛ&$4ʹσϓϩΠ͢Δ
"84ͷσϓϩΠͲ͏͢Δͷ͔ ͔͜͜ΒઌผͷճͰΓ·͢ɻ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB "NB[PO$MPVE'SPOU ϑϩϯτΤϯυ όοΫΤϯυ "NB[PO4 σϓϩΠ
%PDLFS3FQPTJUPSZ
·ͱΊ ܧଓతYYYܧଓతΠϯςάϨʔγϣϯɾσϦόϦʔɾσϓϩΠ͕͋Δ ΞδϟΠϧ։ൃͱεΫϥϜ։ൃผͷ ܧଓతYYYΞδϟΠϧ։ൃͷܽΛຒΊΔͨΊʹ͋Δղܾ๏ Πϯϑϥߏཁૉͱͯ͠"84ϓϩμΫτ͓͑ͯ͜͏ ։ൃऀͷσϓϩΠͱ"84υΩϡϝϯτͷσϓϩΠগ͠χϡΞϯε͕ҧ͏