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
630
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
熊でもわかるCI/CD/モダンインフラVol1:用語を覚えよう編
CI/CDから最近っぽいインフラについて説明した勉強会を開きました。
用語を覚える編です。
Shohei Kobayashi
May 16, 2022
More Decks by Shohei Kobayashi
See All by Shohei Kobayashi
非同期処理実行基盤 Delayed脱出 → Solid Queue完全移行への旅路。
srockstyle
3
3.2k
熊でもわかるFIDO2
srockstyle
0
170
CI/CD/インフラ勉強会Vol4 Amazon ECS編 Part1
srockstyle
0
180
熊でもわかるCI/CD/モダンインフラ Vol3 AWS CDK
srockstyle
0
430
熊でもわかるCI/CDモダンインフラ Github Action編
srockstyle
0
430
Chefとnginxで作るPHPアプリケーションのReliable Blue Green Deployment
srockstyle
6
25k
Other Decks in Programming
See All in Programming
Oxcを導入して開発体験が向上した話
yug1224
4
290
Swiftのレキシカルスコープ管理
kntkymt
0
210
今さら聞けないCancellationToken
htkym
0
220
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
500
AIとRubyの静的型付け
ukin0k0
0
540
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
220
TAKTでAI駆動開発の品質を設計する
j5ik2o
6
1k
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
650
関係性から理解する"同一性"の型用語たち
pvcresin
2
640
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
4
1.4k
AIエージェントの隔離技術の徹底比較
kawayu
0
470
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
2
1.6k
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
The agentic SEO stack - context over prompts
schlessera
0
800
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
130
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.3k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
150
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
220
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
160
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
380
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υΩϡϝϯτͷσϓϩΠগ͠χϡΞϯε͕ҧ͏