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
続Dockerを使ったPHPアプリ開発とCIについて
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Ryo Tomidokoro
March 29, 2017
Programming
1.1k
3
Share
続Dockerを使ったPHPアプリ開発とCIについて
Dockerを使ったPHPアプリ開発と本番運用で困ったこと等
Ryo Tomidokoro
March 29, 2017
More Decks by Ryo Tomidokoro
See All by Ryo Tomidokoro
開発者が知っておきたい複雑さの正体/where-the-complexity-comes-from
hanhan1978
8
3.5k
Spec Driven Development入門/spec_driven_development_for_learners
hanhan1978
2
1.8k
フロントエンドがTypeScriptなら、バックエンドはPHPでもいいじゃない/php-is-not-bad
hanhan1978
8
14k
どうすると生き残れないのか/how-not-to-survive
hanhan1978
17
15k
100分で本番デプロイ!Laravelで作るWebアプリケーション作成/100min_web_app_cicd
hanhan1978
1
260
PHPerのための計算量入門/Complexity101 for PHPer
hanhan1978
8
3.6k
集中して作業する技術/how_to_work_deeply
hanhan1978
65
56k
PHPでデータベースを作ってみた/create-data-with-php
hanhan1978
11
11k
ADRを一年運用してみた/adr_after_a_year
hanhan1978
8
4.9k
Other Decks in Programming
See All in Programming
Feature Toggle は捨てやすく使おう
gennei
0
390
OTP を自動で入力する裏技
megabitsenmzq
0
130
AWS×クラウドネイティブソフトウェア設計 / AWS x Cloud-Native Software Design
nrslib
16
3.5k
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
350
「効かない!」依存性注入(DI)を活用したAPI Platformのエラーハンドリング奮闘記
mkmk884
0
280
AI-DLC 入門 〜AIコーディングの本質は「コード」ではなく「構造」〜 / Introduction to AI-DLC: The Essence of AI Coding Is Not “Code” but “Structure”
seike460
PRO
0
130
飯MCP
yusukebe
0
440
AIと共にエンジニアとPMの “二刀流”を実現する
naruogram
0
110
20260313 - Grafana & Friends Taipei #1 - Kubernetes v1.36 的開發雜記:那些困在 Alpha 加護病房太久的 Metrics
tico88612
0
240
KagglerがMixSeekを触ってみた
morim
0
360
「速くなった気がする」をデータで疑う
senleaf24
0
110
脱 雰囲気実装!AgentCoreを良い感じにWEBアプリケーションに組み込むために
takuyay0ne
3
420
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
920
Prompt Engineering for Job Search
mfonobong
0
240
Code Review Best Practice
trishagee
74
20k
Site-Speed That Sticks
csswizardry
13
1.1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Six Lessons from altMBA
skipperchong
29
4.2k
Ruling the World: When Life Gets Gamed
codingconduct
0
190
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
Transcript
ଓ%PDLFSΛͬͨ 1)1ΞϓϦ։ൃͱ$* :PLPIBNB/PSUI !IBOIBO
ΞδΣϯμ %PDLFSͰ1)1ΞϓϦ։ൃ͢Δ࣌ͷߏ %PDLFSͬͨ։ൃͷ1SPT$POT $PEFTIJQ1SPͰ$*ͯ͠Έͨαϯϓϧ
1)1ΞϓϦ։ൃ࣌ͷߏ -BSBWFMͷ߹
ࠓ·Ͱͷ։ൃͷ߹ ϦϙδτϦϧʔτʹΞϓϦέʔγϣϯΛஔ
%PDLFSͰͷ։ൃͷ߹ ϧʔτʹ%PDLFSpMF MBSBWFMΞϓϦҰஈԼ͛ͯஔ
%PDLFSͰͷ։ൃͷ߹ ΞϓϦέʔγϣϯҎ֎ͷ༨ܭͳϑΝΠϧΛ ίϯςφʹ"%%͢Δ৺͕ͳ͍ɻ
QIQGQN͚ͩ͡Όಈ͔ͳ͍ͷͰ
EPDLFSDPNQPTFΛ͏ ࠷ۙͷ%PDLFS'PS.BDͩͱඪ४Ͱ͍ͭͯ͘Δ
͜Μͳத ։ൃڥʹඞཁͳίϯςφΛஔ͢Δ
ϦϙδτϦϧʔτͰ EPDLFSDPNQPTFVQE
ίϯςφ্ཱ͕͕ͪΔ
-BSBWFMಈ͘
%PDLFSͬͨ։ൃͷ1SPT$POT
ྑ͔ͬͨ ݄ฒ ؔ࿈ϛυϧΣΞͷΞοϓσʔτ͕؆୯ 8JO.BDͰಉ͡։ൃڥΛ؆୯ಋೖ ΞϓϦέʔγϣϯͱϛυϧΣΞͷૄ݁߹ ※12 Factor
Appͷߟ͑ʹࣗવͱۙ͘ͳΔ
ޙ֤ࣗͷ։ൃڥͷEPDLFSΛ࠷৽ʹ͠ͱ͚େৎ ͦ͏ࢥͬͯͨ࣌͋ͬͨɾɾɾ
ޙ͔Βରॲ͢Δͱհͳ όον࣮ߦͲ͏͢Δ ηογϣϯͲ͏͢Δ $*໘͍͘͞
όον࣮ߦͲ͏͢Δ
ίϯςφʹDSPOΛࠐΉʁ XFCIPPLΛίϯςφͰىಈͯ͠ɺDSPO ઐ༻ίϯςφ͔ΒIUUQͰ࣮ߦ )PTUͷDSPOΛ͏ LVCFSOFUJTͷDSPOઃఆΛར༻͢Δ
όον࣮ߦͷҝʹ༧Ίߟ͓͖͑ͯ͘͜ͱ ίϯςφઃܭͷҰ෦ͱͯ͠ࣄલʹߟ͓͑ͯ͘ DSPOઐ༻ίϯςφXFCIPPLͷ࡞͕໘ ͚ͩͲҠ২ੑߴ͍ ࣮ߦڥґଘͷํ๏ɺָ͚ͩͲҠ২ੑ͕ ͍ ※։ൃɾεςʔδɾຊ൪Λҙࣝͯ͠ܭը͢ΔඞཁΞϦ
ηογϣϯͲ͏͢Δ
ϑΝΠϧͩͱϦϦʔεͰফ͑Δ☓ ҉߸Խͯ͠$PPLJFʹೖΕΔ☓ 3FEJT͏ͱͯ͠3FEJTίϯςφͩͱϦϦʔεํ๏ʹ Αͬͯফ͑Δ ӬଓԽ͠ͳͯ͘ηογϣϯΛ෮ݩͰ͖ΔΈΛߟ͑ Δ˕
ϚωʔδυɾαʔϏεΛͬͯӬଓԽ͢Δ˚ ※AWSͷRedisͱ͔
ηογϣϯอ࣋ͷҝʹ༧Ίߟ͓͖͑ͯ͘͜ͱ ݁ہͷͱ͜ΖӬଓԽΛͲ͜ʹ࣋ͨͤΔ͔ͷ ίϯςφͷͨΊͷఆੴ͕͖ͬͱͰ͖Δ ئ ઃܭஈ֊Ͱߟ͓͔͑ͯͳ͍ͱ٧Ή࣌͋Δ
$*໘͍͘͞
طଘͷ$*πʔϧ%PDLFSόʔδϣϯͷਵʹ ͕ग़Δͱ͖͕͋Δ طଘͷ$*πʔϧͷ%PDLFSࢧԉҰ෦ͷػೳ͕0'' ΒΕ͍ͯΔ߹͕͋Δ ϏϧυޙͷϦϦʔείϯςφͷ࣮ߦڥґଘ͕ ͋Δ
ΦϯϓϨ+FOLJOT͓͡͞ΜͳΒɾɾɾ
֤$*ͷରԠঢ়گ CI Engine Compose Circle CI 1.09 (beta 1.12) ࣗྗಋೖ
Travis CI 1.12.3 ࣗྗಋೖ Codeship 1.12 ಋೖࡁΈ จ๏v1 Docker-Cloud ?? ଟ࠷৽ ?? ଟ࠷৽ Shippable 1.09 (beta 1.10) ࣗྗಋೖ &OHJOFͷ࠷৽όʔδϣϯ
DPNQPTFͷόʔδϣϯʹ͍ͭͯ Compose Engine จ๏ ~1.6.x 1.09 v1 1.6.x~ 1.10 v2
1.6.x~ 1.12 v2.1 1.9.x~ 1.13 v3 WͰWͷػೳ͕͑ͳ͔ͬͨΓ͢Δ
%PDLFSͷഁյతมߋ w dWͰϏϧυͯ͠ϨδετϦʹQVTI w WdͰQVMMग़དྷͳ͍ɻ http://docs.docker.jp/engine/breaking_changes.html
%PDLFS$*ͷҝʹ༧Ίߟ͓͖͑ͯ͘͜ͱ %PDLFSͷόʔδϣϯมԽΛ͏ $*ϑΝʔετͰઃܭΛߦ͏ ϦϦʔεͱΓ͠·ͰΛ໌֬ʹઃܭ͠ ͓ͯ͘͜ͱ
$PEFTIJQ1SPͰ$*ͯ͠Έͨαϯϓϧ
$PEFTIJQ1SPͷಛ ઃఆϑΝΠϧ͕ͦͷ··EPDLFSDPNQPTF ຖ݄Ϗϧυ·ͰQSJWBUFͰແྉ CVJMEDBDIF͕ͪΌΜͱ͖͘ DPNQPTFͷจ๏͕ಠࣗɻ͔ͭݹ͍ɻ ͱ͍͑ɺDPNQPTFΛωΠςΟϒͰαϙʔτ͍ͯ͠Δͷ
Ͱɺݸਓతʹ͘͢͝ظ͍ͯ͠Δ
-BSBWFMΛ͓͍ͷํ Լهʹαϯϓϧ্͛ͯஔ͖·ͨ͠ɻ https://github.com/hanhan1978/docker-laravel54-skelton
͓·͚ -BSBWFMͷ%VTLΛ࣮ߦ $PEFTIJQͰ$* Τϥʔ͕͋ͬͨΒεΫϦʔϯγϣοτ Λऔͬͯ4MBDL௨ ϑϩϯτΤϯυͷςετͳͷͰεΫγϣ ͕͋ΔͱΔͣ
ࢥͬͨΑΓΠέͯΔײ͕ग़ͨ