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
PHP Conference 2015 / How to Build Efficient an...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Sotaro Karasawa
October 03, 2015
Technology
15k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PHP Conference 2015 / How to Build Efficient and Integrated Development Environment for The Team
「チーム開発において、効率的な統合的な開発環境をいかに作るか」
Sotaro Karasawa
October 03, 2015
More Decks by Sotaro Karasawa
See All by Sotaro Karasawa
「事業目線」の正体 〜3つのフェーズのCTO経験から見えてきた、EMが持つべき視点 @ EMConf JP 2026
sotarok
9
8.3k
大「個人開発サービス」時代に僕たちはどう生きるか
sotarok
22
13k
P2B Haus法人サポータープランのご提案
sotarok
2
1.7k
ソフトウェアxスタートアップから見た飲食と配送の世界 / The World of Food Deliverlies and Restaurant Businesses from a Software and Startup Perspective
sotarok
2
1.3k
CTO 3度目の正直 / My 3rd CTO Career
sotarok
21
11k
Introduction to the Corporate Solutions Engineering at MTC2018
sotarok
1
36k
Mercari meetup for Corporate Engineering #1 / What is "Corporate Engineering"?
sotarok
2
2.5k
Markdown and WYSIWYG
sotarok
1
6.5k
20 Jan 2017 / Moving Beyond Borders - Mercari DAY
sotarok
8
16k
Other Decks in Technology
See All in Technology
「守りたい体験」を渡すだけで E2E を生成させられるようになった話
hinac0
2
980
41歳でAWSが好きすぎてITエンジニアになったおっさんの話
yama3133
1
720
「顧客の声を聞かなければ何も始まらない」 ── 顧客の声から生まれた『AI返信補助機能』の開発プロセス / AICon2026_shikata_imai
rakus_dev
0
250
データエンジニアリングとドメイン駆動設計
masuda220
PRO
14
2.3k
Network Firewallやっていき!
news_it_enj
0
250
2026年のソフトウェア開発を考える(2026/07版) / Agentic Software Engineering 2026-07 Findy Edition
twada
PRO
18
7.6k
Making sense of Google’s agentic dev tools
glaforge
1
300
キャリアLT会#3
beli68
2
220
シンガポールで登壇してきます
yama3133
0
340
DatabricksにおけるMCPソリューション
taka_aki
1
330
Data + AI Summit 2026 イベントレポート: 「AIがビジネスで意思決定するデータ基盤」へ
nek0128
0
300
全社でのソフトウェアサプライチェーン攻撃対策をやってみた with Takumi Guard
z63d
0
200
Featured
See All Featured
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
190
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
Documentation Writing (for coders)
carmenintech
77
5.4k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Unsuck your backbone
ammeep
672
58k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
Believing is Seeing
oripsolob
1
170
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
Building the Perfect Custom Keyboard
takai
2
820
Tell your own story through comics
letsgokoyo
1
1k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1k
Transcript
)PXUP#VJME &GpDJFOUBOE*OUFHSBUFE %FWFMPQNFOU&OWJSPONFOU GPS5IF5FBN 1)1$POGFSFODF+BQBO !TPUBSPL .FSDBSJ *OD
νʔϜͷͨΊͷ ޮతͰ౷Ұతͳ։ൃڥͷ ࡞Γํ ˞ຊൃදଟຊޠͰ͢ 1)1$POGFSFODF+BQBO !TPUBSPL .FSDBSJ *OD
!TPUBSPL
!TPUBSPL 4PUBSP,BSBTBXB .FSDBSJ *OD
!TPUBSPL
None
.FSDBSJ *OD
.FSDBSJ *OD %-. 64 +1 ग़%BJMZ, ߪೖ.POUIMZ.
+1:
.FSDBSJ *OD $IFDLPVUPVSCMPH IUUQUFDINFSDBSJDPN
2)PXNBOZFOHJOFFSTJOZPVSUFBN ʙਓ ʙਓ ʙਓ ਓʙ
.FSDBSJ *OD w &OHJOFFST w 0DU ਓऑ w 0DUਓऑ w
0DUਓऑ ଟ
%FWFMPQNFOU&OWJSPONFOU ։ൃڥ
ͳͥ ʠ༰қʹߏஙՄೳͳ։ൃڥ Λ༻ҙ͖͢ͳͷ͔
ۀظ ਓਓʙਓͱ͔ ͦΕͧΕ͕ͦΕͧΕదʹ։ൃͯ͠Δɻ ܾ·ͬͯΔͷ͏ݴޠͱ%#ɾ8FCαʔόʔ͘Β͍
ظ ਓਓʙ ͦΕͧΕ͕ͦΕͧΕͷʜY ਓ ϥΠϒϥϦ ݴޠ ϛυϧΣΞ ίϯ ϙωϯτ
ظ ਓਓʙ ͦΕͧΕ͕ͦΕͧΕͷʜY ਓ ϥΠϒϥϦ ݴޠ ϛυϧΣΞ ίϯ ϙωϯτ
৽ਓ ϛ
ظ ਓਓʙ ͦΕͧΕ͕ͦΕͧΕͷʜY ਓ ϥΠϒϥϦ ݴޠ ϛυϧΣΞ ίϯ ϙωϯτ
৽ਓ ϛ
w ཧͰ͖ͳ͍ w ૿͑ΔϛυϧΣΞɾιϑτΣΞʹϝϯόʔ͕ ैͰ͖ͳ͍ w ৽ਓ͕Ͳ͏ͬͯ։ൃΛ࢝ΊΔͷ͔͕Θ͔Βͳ͍
5SBJOJOH ڭҭʹ͍ͭͯ
༏लͳਓͷଗ͏νʔϜ͔ͩΒڭҭͱ͔͍Βͳ͍
ͱʹ͔͘։ൃ͕ॏཁ͔ͩΒڭҭͯ͠ΔՋͳ͍
Α͋͘Δؒҧ͍✘
༏लͳਓͷଗ͏νʔϜʹͦ͜ɺڭҭॏཁ w ༏लͳਓΛ͍͔ʹૣ͘ϓϩμΫτͰ׆༂ͤ͞Δ͔ w ৫ͷʹඋ͑Δ w ϑΣʔζʹΑΔঢ়گͷมԽΛ࣮֬ʹଊ͑ͳ͕Β
։ൃڥߏஙʹؔ͢Δ ΑΓ۩ମతͳ
$PNNPO%FWFMPQNFOU4FSWFS /var/www/vhosts/dev1.example.com /var/www/vhosts/dev2.example.com /var/www/vhosts/dev3.example.com /var/www/vhosts/dev4.example.com ...
*OEJWJEVBM%FWFMPQNFOU4FSWFS 3FDJQF EFC SQN
-PDBM
PUUP
ϝϧΧϦͷ߹ w 7JSUVBM#PY 7BHSBOU w ֤छϛυϧΣΞΛηοτΞοϓࡁΈͷ#PY Λ #PY4ʹ͓͍ͯΔ w
ιʔείʔυ.BD্ʹɻ TZODFE@GPMEFS
ϝϧΧϦͷ߹ $ git clone http://…/mercari-dev.git $ cd mercari-dev $ make
ϝϧΧϦͷ߹ config.vm.box_url = "https://s3-ap- northeast-1.amazonaws.com/.../mercari- dev/catalog.json"
#PYͮ͘ΓͷΞϨίϨ w σΟϨΫτϦߏΛຊ൪ͱଗ͑Δ w ͢Δ7.ࣗମͷϓϩϏδϣχϯάΛBOTJCMFͰ w WFFXFFͰϏϧυ w NBLFίϚϯυൃͰϏϧυˠΧλϩάͷΞοϓϩʔυ w
FYQFSJNFOUBMCVJMEΛఏڙͯ͠ಈ࡞֬ೝޙ൛࡞
-PDBMͷΈ w 2"νʔϜͱͷΓͱΓ w ΫϥΠΞϯτ "OESPJEJ04 ͱͷΓͱΓ w 44-Ͳ͏͠Α͏ w
ՈͰΔͱ͖ࠔΔ
ϝϧΧϦͷ߹ $ make dns
IPTUTΛॻ͖͑ΒΕͳ͍ ͔ΒΞΫηεͰ͖ͯخ͍͠ 10.0.1.12 api-sotarok-jp.dev.example.com 10.0.1.12 api-sotarok-us.dev.example.com 10.0.1.12 www-sotarok-jp.dev.example.com 10.0.1.12 www-sotarok-us.dev.example.com
10.0.1.12 …
ϋΠϑϯͰ໊લΛ࡞Δ EFWFYBNQMFDPN 10.0.1.12 api-sotarok-jp.dev.example.com 10.0.1.12 api-sotarok-us.dev.example.com 10.0.1.12 www-sotarok-jp.dev.example.com 10.0.1.12 www-sotarok-us.dev.example.com
10.0.1.12 … 8JME$BSE44-
%BUBCBTF4FSWFS
$PNNPO%BUBCBTF4FSWFS DEV DB Dev Server Dev Server Dev Server
։ൃڥͷσʔλΛͰ͖Δ͚ͩຊ൪ʹ͚ۙͮΔ IUUQUFDIMJGFDPPLQBEDPNFOUSZ
ϝϧΧϦͷ߹ w -PDBMʹ։ൃڥΛͬͯΔΜͰʜ w 2"ڥͷ%#ͷόοΫΞοϓΛJNQPSU͢ ΔΈ
2"ڥ ͋Δ͍TUBHJOHͱ͔͍͏
2" QA DB QA App QA Member QA Member QA
Member qa.dev.example.com
2" QA DB QA App QA Member QA Member QA
Member qa.dev.example.com %#͕ख़ͯ͘͠Δ
·ͱΊ
·ͱΊ w ։ൃڥͷߏஙํ๏؆୯ʹͨ͠΄͏͕͍͍Α w ͍Ζ͍ΖΓํ͋ΔΑ w ϝϧΧϦͩͱ w ϩʔΧϧʹߏஙͯ͠։ൃ w
ϩʔΧϧʹߏங͢ΔΈ͍Ζ͍Ζղܾ w 2"ڥڞ௨ͩͬͨΓ͢Δ w σʔλ2"ڥ͔Β࣋ͬͯདྷͯϋοϐʔ
ʠ։ൃڥʡʹؔ͢Δ ͓·͚తͳ
ʠ։ൃڥʡ αʔόʔ͚ͩ͡Όͳͯ͘ɻ
ʠ։ൃڥʡ w *%& w $PNNBOE-JOF5PPMT w #SPXTFS&YUFOTJPO w ʜ
'BDFCPPLͷ3FBDU%FWFMPQFS5PPM
։ൃͷ࣭Λ্ͤ͞ɺແବΛল͘ w ͦ͏͍͏ʠπʔϧʡ܊ͯ͢։ൃڥ w ແବΛऔΓআ͖ຊ࣭తͳ։ൃ࡞ۀʹ࠷ूதͰ͖ ΔڥΛ࡞Δ
ͦ͏͍͏͜ͱΛɺ ୭͕ߟ͑ ୭͕࢝ΊΔ͔
:PV
PS
None
8FBSFIJSJOH
5IBOLZPV