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
560
熊でもわかる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
1.2k
熊でもわかるFIDO2
srockstyle
0
140
CI/CD/インフラ勉強会Vol4 Amazon ECS編 Part1
srockstyle
0
150
熊でもわかるCI/CD/モダンインフラ Vol3 AWS CDK
srockstyle
0
400
熊でもわかるCI/CDモダンインフラ Github Action編
srockstyle
0
390
Chefとnginxで作るPHPアプリケーションのReliable Blue Green Deployment
srockstyle
6
25k
Other Decks in Programming
See All in Programming
iOS 17で追加されたSubscriptionStoreView を利用して5分でサブスク実装チャレンジ
natmark
0
410
CSS Linter の現在地 2025年のベストプラクティスを探る
ryo_manba
10
3.1k
10年もののAPIサーバーにおけるCI/CDの改善の奮闘
mbook
0
560
生成AIを活用した初学者向けPython講座
soogie
1
110
Let's Write a Train Tracking Algorithm
twocentstudios
0
220
Introducing ReActionView: A new ActionView-Compatible ERB Engine @ Kaigi on Rails 2025, Tokyo, Japan
marcoroth
3
640
私はどうやって技術力を上げたのか
yusukebe
39
16k
Breaking Up with Big ViewModels — Without Breaking Your Architecture (droidcon Berlin 2025)
steliosf
PRO
1
260
プログラマのための作曲入門
cheebow
0
490
OWASP Kansai DAY 2025.09: OSINTにふれてみよう
deka_morita
0
160
Model Pollution
hschwentner
1
180
大規模アプリにおけるXcode Previews実用化までの道のり
ikesyo
0
930
Featured
See All Featured
Designing Experiences People Love
moore
142
24k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.7k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
KATA
mclloyd
32
14k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.2k
Why Our Code Smells
bkeepers
PRO
339
57k
How GitHub (no longer) Works
holman
315
140k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
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υΩϡϝϯτͷσϓϩΠগ͠χϡΞϯε͕ҧ͏