Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
CI_CDってなあに?
Search
ninomiya_hy
March 23, 2019
Technology
460
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CI_CDってなあに?
ninomiya_hy
March 23, 2019
More Decks by ninomiya_hy
See All by ninomiya_hy
クラウドエンジニアってなあに?
ninomiya_hy
0
60
Other Decks in Technology
See All in Technology
QA4AI 2026-Oct 生成AI時代の品質保証
tokuty
1
860
分析AIエージェントを育てる、動く環境を育てる
codatum
1
1.1k
事業成長とデータ活用を止めないためのマネジメントへ挑戦
hiracky16
0
390
OptunaHub: ブラックボックス最適化のためのプラットフォーム
pfn
PRO
0
140
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
920
触りたくないデータに、どう触るか AI時代のRBACアクセスガバナンス
ivry_presentationmaterials
0
260
JAWS-UGグッズ職人仕事の流儀
kentapapa
0
100
アウトプット初心者、半年間のふりかえり
4o1sobblue
0
430
会社説明資料
persolserverworks
0
9.8k
大型犬好きによるPugの紹介
yamanoku
1
160
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
340
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
940
Featured
See All Featured
Utilizing Notion as your number one productivity tool
mfonobong
4
620
We Are The Robots
honzajavorek
0
400
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
410
Mind Mapping
helmedeiros
1
400
The Limits of Empathy - UXLibs8
cassininazir
2
720
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Mobile First: as difficult as doing things right
swwweet
225
10k
Transcript
CI/CDͬͯͳ͋ʹʁ ʙ ͨͬͨ̑ͰCI/CD͕ͳΜͱͳ͔͘Δʁ͓ ʙ 2019 / 03 / 23ɹϊʔϚϯτษڧձ #3
ೋٶ ӳɹ@ninomiya_hy
※ITʹશ͘৮Εͨ͜ͱͷͳ͍ํͰۃྗ͔ ΔΑ͏ʹ͍ͯ͠ΔʢͭΓͷʣ ͨΊɺਓʹΑͬͯ Γͳ͍༰ͱͳ͍ͬͯΔՄೳੑ͕͋Γ· ͢ɻ͝༰͍ࣻͩ͘͞ɻ ※༰ʹ͍ͭͯेͳϦαʔνΛ౿·͑ͯ ࡞͍ͯ͠·͕͢ɺສ͕Ұ͓͔͠ͳ͕͟͝ ͍·ͨ͠ΒɺޙͰίοιϦ͓͍͑ͩ͘͞ɻ
ͳʹͱ͋Ε ·ͣࣗݾհ͔Β
ࣗݾհ ೋٶ ӳʢʹͷΈ ͻͰΏ͖ʣ • Twitterɿˏninomiya_hy • ৬ۀɿΠϯϑϥΤϯδχΞʢH31.4~ʣ ɹ ɹITۀքະܦݧʢલ৬Πϯϑϥاۀͷਓࣄɾ࿑୲ʣ
ɹ ɹWeb੍࡞ͰՔ͛ΔΑ͏ʹͳΔͧʂʢHTML / CSSʣ ɹ ɹˠ όοΫΤϯυͷํ͕໘നͦ͏ʂʢRubyʣ ɹ ɹˠ ੩తܕݴޠͰجૅݻΊ͠Α͏ʂʢJavaʣ ɹ ɹˠ ϑϩϯτΤϯυָ͍͠Μ͚ʂʢJavaScriptʣ ɹ ɹͱුؾΛ܁Γฦ͢͏ͪʹͳ͔ͥAWSΛ৮Δ͜ͱʹ • ಛɿ ɹ ɹѪඤग़ / ABܕ / ډञ͖ / ΧϥΦέ͖
ͦΕͰ͔͜͜Β ຊʹೖΓ·͢
CI/CDͬͯʁ
CI/CDͬͯʁ ܧଓత ౷߹ CIʢContinuous Integrationʣ ɹιϑτΣΞ։ൃʹ͓͍ͯɺϏϧυ ɹςετΛࣗಈԽ͠ɺܧଓతʹ࣮ࢪ͢Δख๏
CI/CDͬͯʁ ܧଓత ౷߹ ܧଓత ୡ CIʢContinuous Integrationʣ ɹιϑτΣΞ։ൃʹ͓͍ͯɺϏϧυ ɹςετΛࣗಈԽ͠ɺܧଓతʹ࣮ࢪ͢Δख๏ CDʢContinuous
Deliveryʣ ɹCIʹΑͬͯςετ͞ΕͨίʔυͷϚʔδɺ ɹຊ൪ڥ͚ͷϏϧυΛࣗಈతʹߦ͍ɺ ɹຊ൪ڥʹσϓϩΠ͕Մೳͳঢ়ଶΛ͑Δख๏
❓ CI/CDͬͯʁ
CI/CDͬͯʁ CIʢContinuous Integrationʣ ɹιϑτΣΞ։ൃʹ͓͍ͯɺϏϧυ ɹςετΛࣗಈԽ͠ɺܧଓతʹ࣮ࢪ͢Δख๏ CDʢContinuous Deliveryʣ ɹCIʹΑͬͯςετ͞ΕͨίʔυͷϚʔδɺ ɹຊ൪ڥ͚ͷϏϧυΛࣗಈతʹߦ͍ɺ ɹຊ൪ڥʹσϓϩΠ͕Մೳͳঢ়ଶΛ͑Δख๏
ܧଓత ౷߹ ܧଓత ୡ
CI/CDͬͯʁ CI/CDʢͬ͘͟Γʣ
CI/CDͬͯʁ CI/CDʢͬ͘͟Γʣ = ιϑτΣΞ։ൃʹ͓͚Δ ɹ͋Ε͜ΕΛػցʹ͓·͔ͤͯ͠ ɹϥΫ͢ΔɺεϐʔυΛ্͛Δɺ ɹϛεΛݮΒͨ͢Ίͷख๏ ɹ
CI/CDͬͯʁ CI/CDʢͬ͘͟Γʣ = ιϑτΣΞ։ൃʹ͓͚Δ ɹ͋Ε͜ΕΛػցʹ͓·͔ͤͯ͠ ɹϥΫ͢ΔɺεϐʔυΛ্͛Δɺ ɹϛεΛݮΒͨ͢Ίͷख๏ ɹBefore:ెาͰ໎ࢠ
CI/CDͬͯʁ CI/CDʢͬ͘͟Γʣ = ιϑτΣΞ։ൃʹ͓͚Δ ɹ͋Ε͜ΕΛػցʹ͓·͔ͤͯ͠ ɹϥΫ͢ΔɺεϐʔυΛ্͛Δɺ ɹϛεΛݮΒͨ͢Ίͷख๏ ɹBefore:ెาͰ໎ࢠ → After:ࣗಈӡసͰతʂ
CI/CDͷग़൪͍ͭʁ
CI/CDͷग़൪͍ͭʁ ཁ݅ఆٛ ઃܭ ϓϩάϥϛϯά ςετ σϓϩΠ Ϗϧυ ※मਖ਼ߋ৽(৽ػೳͷՃͳͲ)Λ͢Δ߹
CI/CDͷग़൪͍ͭʁ ཁ݅ఆٛ ઃܭ ςετ σϓϩΠ Ϗϧυ ※मਖ਼ߋ৽(৽ػೳͷՃͳͲ)Λ͢Δ߹ $% $* ϓϩάϥϛϯά
CIʹ͍ͭͯ ৄ͘͠ݟͯΈΔ
CIʢܧଓతΠϯςάϨʔγϣϯʣ͕ͳ͍ͱ͖ɾɾɾ CIʹ͍ͭͯৄ͘͠ݟͯΈΔ PG ςετ Ϗϧυ ࠜͭͬͨ͘Ͱʂ ίϛοτ
CIʹ͍ͭͯৄ͘͠ݟͯΈΔ PG ςετ Ϗϧυ ෦ͭͬͨ͘Ͱʂ ࠜͭͬͨ͘Ͱʂ CIʢܧଓతΠϯςάϨʔγϣϯʣ͕ͳ͍ͱ͖ɾɾɾ ίϛοτ
CIʹ͍ͭͯৄ͘͠ݟͯΈΔ PG ςετ Ϗϧυ ෦ͭͬͨ͘Ͱʂ ࠜͭͬͨ͘Ͱʂ ݰؔͭͬͨ͘Ͱʂ CIʢܧଓతΠϯςάϨʔγϣϯʣ͕ͳ͍ͱ͖ɾɾɾ ίϛοτ
CIʹ͍ͭͯৄ͘͠ݟͯΈΔ PG ςετ Ϗϧυ ෦ͭͬͨ͘Ͱʂ ࠜͭͬͨ͘Ͱʂ ݰؔͭͬͨ͘Ͱʂ ͋Εʁҧײ͕͋Δͳɾɾɾ ݰؔͳ͍͠ ෦ͷচઃܭ௨Γɾɾɾ
͋ɺࠜͷܗ͕͓͔͍ͧ͠ʂ ςετ Ϗϧυ Έཱͯ·ʔ͢ CIʢܧଓతΠϯςάϨʔγϣϯʣ͕ͳ͍ͱ͖ɾɾɾ ίϛοτ
CIʹ͍ͭͯৄ͘͠ݟͯΈΔ PG ςετ Ϗϧυ ෦ͭͬͨ͘Ͱʂ ࠜͭͬͨ͘Ͱʂ ݰؔͭͬͨ͘Ͱʂ Ϗϧυ Έཱͯ·ʔ͢ ͳʹͬͯΜͩςϝΣοʂʂ
͢Έ·ͤΜɾɾɾ ͬͱૣ͘ؾ͍͍ͯΕ ͜Μͳ͜ͱʹͳΒͳ͔ͬͨͷʹɾɾɾ ͋Εʁҧײ͕͋Δͳɾɾɾ ݰؔͳ͍͠ ෦ͷচઃܭ௨Γɾɾɾ ͋ɺࠜͷܗ͕͓͔͍ͧ͠ʂ CIʢܧଓతΠϯςάϨʔγϣϯʣ͕ͳ͍ͱ͖ɾɾɾ ίϛοτ ςετ
CIʢܧଓతΠϯςάϨʔγϣϯʣ͕͋Δͱ͖ʂ CIʹ͍ͭͯৄ͘͠ݟͯΈΔ PG ςετ Ϗϧυ ࠜͭͬͨ͘Ͱʂ ʮ࡞ολσʯτݴϫϨλϥɹʹɹίϛοτ ɹϛཱςςɹɹɹɹɹɹɹʹɹϏϧυ ɹݕࠪγϚεɹɹɹɹɹɹɹʹɹςετ ίϛοτ
CIʹ͍ͭͯৄ͘͠ݟͯΈΔ PG ςετ Ϗϧυ ࠜͭͬͨ͘Ͱʂ ϛཱςϚε Ϗϧυ ࠜΨΦΧγΠσε CIʢܧଓతΠϯςάϨʔγϣϯʣ͕͋Δͱ͖ʂ ίϛοτ
ςετ
CIʹ͍ͭͯৄ͘͠ݟͯΈΔ PG ςετ Ϗϧυ ͭ͘Γͨ͠Ͱʂ CIʢܧଓతΠϯςάϨʔγϣϯʣ͕͋Δͱ͖ʂ ίϛοτ
CIʹ͍ͭͯৄ͘͠ݟͯΈΔ PG ςετ Ϗϧυ ͭ͘Γͨ͠Ͱʂ ϛཱςϚε Ϗϧυ ࠜ0,σε CIʢܧଓతΠϯςάϨʔγϣϯʣ͕͋Δͱ͖ʂ ίϛοτ
ςετ
CIʹ͍ͭͯৄ͘͠ݟͯΈΔ PG ςετ Ϗϧυ ෦ͭͬͨ͘Ͱʂ Ϗϧυ ͭ͘Γͨ͠Ͱʂ ϛཱςϚε ࠜ0,σε CIʢܧଓతΠϯςάϨʔγϣϯʣ͕͋Δͱ͖ʂ
ίϛοτ ςετ
CIʹ͍ͭͯৄ͘͠ݟͯΈΔ PG ςετ Ϗϧυ ෦ͭͬͨ͘Ͱʂ ϛཱςϚε Ϗϧυ ͭ͘Γͨ͠Ͱʂ ϛཱςϚε ࠜ0,σε
ࠜɾ෦0,σε CIʢܧଓతΠϯςάϨʔγϣϯʣ͕͋Δͱ͖ʂ ίϛοτ ςετ
CIʹ͍ͭͯৄ͘͠ݟͯΈΔ PG ςετ Ϗϧυ ෦ͭͬͨ͘Ͱʂ ݰؔͭͬͨ͘Ͱʂ ϛཱςϚε Ϗϧυ ͭ͘Γͨ͠Ͱʂ ϛཱςϚε
ࠜ0,σε ࠜɾ෦0,σε CIʢܧଓతΠϯςάϨʔγϣϯʣ͕͋Δͱ͖ʂ ίϛοτ ςετ
CIʹ͍ͭͯৄ͘͠ݟͯΈΔ PG ςετ Ϗϧυ ෦ͭͬͨ͘Ͱʂ ݰؔͭͬͨ͘Ͱʂ ϛཱςϚε Ϗϧυ Φʔϧ0,σε ϛཱςϚε
ͭ͘Γͨ͠Ͱʂ ϛཱςϚε ࠜ0,σε ࠜɾ෦0,σε CIʢܧଓతΠϯςάϨʔγϣϯʣ͕͋Δͱ͖ʂ ίϛοτ ςετ
CIʹ͍ͭͯৄ͘͠ݟͯΈΔ PG ςετ Ϗϧυ ෦ͭͬͨ͘Ͱʂ ݰؔͭͬͨ͘Ͱʂ ϛཱςϚε Ϗϧυ Φʔϧ0,σε ϛཱςϚε
ͭ͘Γͨ͠Ͱʂ ϛཱςϚε ࠜ0,σε ࠜɾ෦0,σε Ұճڭ͑ͨΒຖճᘳʹ ͬͯ͘ΕΔ͔ΒϥΫͩΘʙ ΞΠπΒɹɹɹɹɹΑΓ ࣄ͕͑ʔͳʂʂ ϛε͚ͬͨͲ͙͢ʹͤͨͰʂ CIʢܧଓతΠϯςάϨʔγϣϯʣ͕͋Δͱ͖ʂ ίϛοτ ςετ
CI͕ͳ͍ͱ͖ɾɾɾ ɹͦΕͧΕ͕࡞ΓऴΘ͔ͬͯΒॳΊͯશମͷύʔπΛΈཱͯΔͨΊɺ ɹϛε͕͋ͬͨͱ͖ʹݪҼΛಛఆ͢Δͷ͕େมɻӨڹൣғσΧ͍ɻ CIʹ͍ͭͯৄ͘͠ݟͯΈΔ PG ςετ Ϗϧυ
CI͕ͳ͍ͱ͖ɾɾɾ ɹͦΕͧΕ͕࡞ΓऴΘ͔ͬͯΒॳΊͯશମͷύʔπΛΈཱͯΔͨΊɺ ɹϛε͕͋ͬͨͱ͖ʹݪҼΛಛఆ͢Δͷ͕େมɻӨڹൣғσΧ͍ɻ CI͕͋Δͱ͖ʂ ɹҰਓ͕࡞ΓऴΘΔɺࣗಈͰύʔπΛΈཱͯͯ͘ΕΔͨΊɺ ɹϛε͕͋ͬͨΒ͙͢ʹ͔Δ͠ɺӨڹൣғ͕খ͍͞͏ͪʹͤΔɻ ɹɺࣗಈͰΈཱͯΔɹʹɹܧଓతΠϯςάϨʔγϣϯʢ౷߹ʣ CIʹ͍ͭͯৄ͘͠ݟͯΈΔ PG ςετ
Ϗϧυ
ͭ·ΓCI࠷ߴ
CDʹ͍ͭͯ ৄ͘͠ݟͯΈΔ
CDʢܧଓతσϦόϦʔʣɺ CIʢܧଓతΠϯςάϨʔγϣϯʣΛ֦ுͨ͠ख๏ CDʹ͍ͭͯৄ͘͠ݟͯΈΔ PG ςετ Ϗϧυ σϓϩΠ
CDʢܧଓతσϦόϦʔʣɺ CIʢܧଓతΠϯςάϨʔγϣϯʣΛ֦ுͨ͠ख๏ CDʹ͍ͭͯৄ͘͠ݟͯΈΔ PG ςετ Ϗϧυ σϓϩΠ ʮ࡞ολσʯτݴϫϨςɹɹɹʹɹίϛοτ ɹϛཱςςɹɹɹɹɹɹɹɹʹɹϏϧυ ɹݕࠪγλϞϊϮɹɹɹɹɹɹʹɹςετ
ɹຊ൪τϗϘಉδڥχ ɹӡϯσ࠷ऴνΣοΫγϚεɹʹɹεςʔδϯά
CDʢܧଓతσϦόϦʔʣɺ CIʢܧଓతΠϯςάϨʔγϣϯʣΛ֦ுͨ͠ख๏ CDʹ͍ͭͯৄ͘͠ݟͯΈΔ PG ςετ Ϗϧυ σϓϩΠ ʮ࡞ολσʯτݴϫϨςɹɹɹʹɹίϛοτ ɹϛཱςςɹɹɹɹɹɹɹɹʹɹϏϧυ ɹݕࠪγλϞϊϮɹɹɹɹɹɹʹɹςετ
ɹຊ൪τϗϘಉδڥχ ɹӡϯσ࠷ऴνΣοΫγϚεɹʹɹεςʔδϯά ϤϩγΫΦωΨΠγϚε εςʔδϯάڥσϊ࠷ऴνΣοΫ0, ΠπσϞຊ൪ڥχσϓϩΠσΩϚε εςʔδϯά
CDʢܧଓతσϦόϦʔʣɺ CIʢܧଓతΠϯςάϨʔγϣϯʣΛ֦ுͨ͠ख๏ CDʹ͍ͭͯৄ͘͠ݟͯΈΔ PG ςετ Ϗϧυ σϓϩΠ ʮ࡞ολσʯτݴϫϨςɹɹɹʹɹίϛοτ ɹϛཱςςɹɹɹɹɹɹɹɹʹɹϏϧυ ɹݕࠪγλϞϊϮɹɹɹɹɹɹʹɹςετ
ɹຊ൪τϗϘಉδڥχ ɹӡϯσ࠷ऴνΣοΫγϚεɹʹɹεςʔδϯά ϤϩγΫΦωΨΠγϚε σϓϩΠ εςʔδϯάڥσϊ࠷ऴνΣοΫ0, ΠπσϞຊ൪ڥχσϓϩΠσΩϚε εςʔδϯά σϓϩΠʹ͓٬͞Μ͕͍࢝ΊΔ ͔ͩΒػցʹউखʹΒΕͪΌ͋ࠔΔͥʂ ԶͷνΣοΫ݁Ռ0,ͩʂ σϓϩΠ͢Δͥʂ ※ CDʢܧଓతσϦόϦʔʣɺ ɹ͍ͭͰσϓϩΠͰ͖Δঢ়ଶʹ͢Δͷ
CDʢܧଓతσϦόϦʔʣɺ CIʢܧଓతΠϯςάϨʔγϣϯʣΛ֦ுͨ͠ख๏ CDʹ͍ͭͯৄ͘͠ݟͯΈΔ PG ςετ Ϗϧυ σϓϩΠ ʮ࡞ολσʯτݴϫϨςɹɹɹʹɹίϛοτ ɹϛཱςςɹɹɹɹɹɹɹɹʹɹϏϧυ ɹݕࠪγλϞϊϮɹɹɹɹɹɹʹɹςετ
ɹຊ൪τϗϘಉδڥχ ɹӡϯσ࠷ऴνΣοΫγϚεɹʹɹεςʔδϯά ϤϩγΫΦωΨΠγϚε σϓϩΠ εςʔδϯάڥσϊ࠷ऴνΣοΫ0, ΠπσϞຊ൪ڥχσϓϩΠσΩϚε εςʔδϯά εςʔδϯά0,ϦϣΧΠ σϓϩΠγϚε ※ CDʢܧଓతσϦόϦʔʣɺ ɹ͍ͭͰσϓϩΠͰ͖Δঢ়ଶʹ͢Δͷ ɹCDʢܧଓతσϓϩΠʣಋೖ͢Δͱ ɹίϛοτʙσϓϩΠ·ͰࣗಈԽͰ͖Δ
·ͱΊΔͱ
·ͱΊΔͱ ෦ͭͬͨ͘Ͱʂ ݰؔͭͬͨ͘Ͱʂ ͭ͘Γͨ͠Ͱʂ ίϛοτ
ɹɹɹ$*ʢܧଓతΠϯςάϨʔγϣϯʣ ·ͱΊΔͱ ෦ͭͬͨ͘Ͱʂ ݰؔͭͬͨ͘Ͱʂ ϛཱςϚε Φʔϧ0,σε ϛཱςϚε ͭ͘Γͨ͠Ͱʂ ϛཱςϚε ࠜ0,σε
ࠜɾ෦0,σε ςετ Ϗϧυ ίϛοτ
ɹɹɹ$*ʢܧଓతΠϯςάϨʔγϣϯʣ ɹɹɹ$%ʢܧଓతσϦόϦʔʣ ·ͱΊΔͱ ෦ͭͬͨ͘Ͱʂ ݰؔͭͬͨ͘Ͱʂ ϛཱςϚε Φʔϧ0,σε ϛཱςϚε ͭ͘Γͨ͠Ͱʂ ϛཱςϚε
ࠜ0,σε ࠜɾ෦0,σε ςετ Ϗϧυ ίϛοτ εςʔδϯά σϓϩΠ
ɹɹɹ$*ʢܧଓతΠϯςάϨʔγϣϯʣ ɹɹɹ$%ʢܧଓతσϦόϦʔʣ ·ͱΊΔͱ ෦ͭͬͨ͘Ͱʂ ݰؔͭͬͨ͘Ͱʂ ϛཱςϚε Φʔϧ0,σε ϛཱςϚε ͭ͘Γͨ͠Ͱʂ ϛཱςϚε
ࠜ0,σε ࠜɾ෦0,σε ςετ Ϗϧυ ίϛοτ εςʔδϯά σϓϩΠ or ※ CDʢܧଓతσϓϩΠʣ ɹɹɹ$%ʢܧଓతσϓϩΠʣ
ɹɹɹ$*ʢܧଓతΠϯςάϨʔγϣϯʣ ɹɹɹ$%ʢܧଓతσϦόϦʔʣ ·ͱΊΔͱ ෦ͭͬͨ͘Ͱʂ ݰؔͭͬͨ͘Ͱʂ ϛཱςϚε Φʔϧ0,σε ϛཱςϚε ͭ͘Γͨ͠Ͱʂ ϛཱςϚε
ࠜ0,σε ࠜɾ෦0,σε ςετ Ϗϧυ ίϛοτ εςʔδϯά σϓϩΠ or ※ CDʢܧଓతσϓϩΠʣ ɹɹɹ$%ʢܧଓతσϓϩΠʣ ͋ͳͨͷ։ൃڥʹCI/CDπʔϧΛಋೖͯ͠༡ΜͰΈΑ͏ʂ