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をもっと高速にした(かった) / ci-fast
Search
Jun Watanabe
February 22, 2017
Programming
1.5k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CIをもっと高速にした(かった) / ci-fast
presented on #phpblt #6
https://phpblt.connpass.com/event/49458/
Jun Watanabe
February 22, 2017
More Decks by Jun Watanabe
See All by Jun Watanabe
Jamf Connect ZTNAとMDMで実現! 金融ベンチャーにおける「デバイストラスト」実例と軌跡 / Kyash Device Trust
rela1470
1
3k
20分1発勝負! 社内Webツールをライブコーディングするぞ! / Live Coding PHPerKaigi 2025
rela1470
0
38
力技で実現するHR Driven Provisioningとアクセス制御の自動化 / kyash-hr-driven-provisioning
rela1470
0
1.5k
10分(25分)でつくる社内Webツール / howto-oidc-webpage
rela1470
0
190
リーグオブ情シス 第二回 / League of Infosys
rela1470
1
1.5k
Kyashでコーポレートエンジニアを初採用して7ヶ月が経ちましたがお元気ですか / ce-night-kyash
rela1470
4
3.4k
じこしょうかい2019 / rela1470-portfolio-2019
rela1470
0
420
255オクテットのドメインはツラみがある! / endless-work
rela1470
1
5.6k
ヤフーの1on1
rela1470
0
570
Other Decks in Programming
See All in Programming
Embedded Swiftで作る自作USBデバイス によるiOSデバイスの自動テスト / iOSDC Japan 2026 glassfiber
glassfiber
0
330
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
370
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
150
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
370
パスワード再設定メールのURLについて知っておこう
uyuki234
0
130
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
480
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
360
SREの越境 / SRE Collaboration
y0hgi
2
300
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
490
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
760
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
960
気持ちぃ〜角丸 Squircle
ryu1013
0
250
Featured
See All Featured
The Limits of Empathy - UXLibs8
cassininazir
2
710
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
Six Lessons from altMBA
skipperchong
29
4.5k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
450
From π to Pie charts
rasagy
1
400
The Cost Of JavaScript in 2023
addyosmani
55
10k
4 Signs Your Business is Dying
shpigford
187
23k
Between Models and Reality
mayunak
4
490
Large-scale JavaScript Application Architecture
addyosmani
516
110k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Crafting Experiences
bethany
1
380
Transcript
CIΛͬͱߴʹͨ͠ (͔ͬͨ) 2017/02/22 PHP BLT #6 Jun Watanabe
Jun Watanabe • ORATTA, Inc. Chief Engineer • PHPer 8͘Β͍
• ࠷ۙϚωδϝϯτɾ։ൃڥվળͷൺॏଟΊ • Twitter: http://rela.red/ https://recruit.oratta.net/
CIճͯ͠·͔͢?
ܧଓతΠϯςάϨʔγϣϯ • ϓϩάϥϚʔͷΞϓϦέʔγϣϯ࡞࣌ͷ ࣭վળೲظͷॖͷͨΊͷश׳ • ϏϧυςετɺΠϯεϖΫγϣϯͳͲΛܧ ଓతʹ࣮ߦ͍ͯ͘͜͠ͱ
Codecov GitHub Flow scrutinizer pull request 2017/02/22 ࣌
Codecov GitHub Flow scrutinizer pull request 2017/02/22 ࣌ Ϣχοτςετ ΧόϨοδ
Ϣχοτςετ PHP5.6.17 PHPUnit
19ඵ PHPUnit͍ >time phpunit -c phpunit.xml Runtime: PHP 5.6.17 real
0m19.066s user 0m14.152s sys 0m1.670s
Ϣχοτςετ + ΧόϨοδϨϙʔτ PHP5.6.17 PHPUnit Xdebug
1427ඵ Xdebug͍ >time phpunit -c phpunit.xml —coverage-html=coverage Runtime: PHP 5.6.17
with Xdebug 2.3.3 real 14m27.768s user 14m2.158s sys 0m22.179s +148ඵ
PHP7ʹ͢Ε ྑ͍͡ΌΜ!
Ϣχοτςετ + ΧόϨοδϨϙʔτ PHP7.1.1 PHPUnit Xdebug
56ඵ PHP7͍ >time phpunit -c phpunit.xml --coverage-html=coverage Runtime: PHP 7.1.1
with Xdebug 2.5.0 real 0m56.049s user 0m47.812s sys 0m1.034s -1331ඵ
phpdbgʹ͢Ε ྑ͍͡ΌΜ!
5ඵ!! phpdbg͍ >time phpdbg -qrr phpunit -c phpunit.xml --coverage-html=coverage Runtime:
PHPDBG 7.1.1 real 0m05.875s user 0m04.711s sys 0m0.342s -51ඵ
phpdbg ͬͱ׆༻ͯ͠΄͍͠!
؆୯ʹରԠͰ͖·͢! • CircleCI • PHP7ͳΒσϑΥͰରԠ͍ͯ͠·͢! • homebrew-php • શόʔδϣϯɺΠϯετʔϧΦϓγϣϯ͕͋Γ·͢! •
ྫ)brew install php71 --with-phpdbg
ͱ͍͑ݱ࣮Ͳ͏ͳͷ͔ • PHP7ʹҠߦͰ͖ͳ͍ϓϩδΣΫτ͋Δ • phpdbgPHP5.4͔Β͑Δ • PHP5.5Ҏલ͜ͷੈ͔Β໓Μͩจ໌ • PHP5.6ͰϑϨϯζʹͳΔํ๏Λߟ͑Δ
CircleCIͷPHP5.6ڥͰ phpdbgΛແཧΓ ͑ΔΑ͏ʹ͠·ͨ͠
https://github.com/ rela1470/ circleci-phpdbg
phpdbgͰΧόϨοδ͕औΕΔͷ PHP7͔Βͩͬͨ >time phpdbg -qrr phpunit -c phpunit.xml —coverage-html=coverage Runtime:
PHPDBG 5.6.17 Error: No code coverage driver is available
Ϣχοτςετ͚ͩͰ ૣ͘ͳͬͯͳ͍͔ͳ͋ >time phpunit -c phpunit.xml Runtime: PHP 5.6.17 real
0m19.066s user 0m14.152s sys 0m1.670s
ٯʹ8ඵ͘ͳͬͨ... >time phpdbg -qrr phpunit -c phpunit.xml Runtime: PHPDBG 5.6.17
real 0m27.769s user 0m23.256s sys 0m1.244s +8ඵ
͍ΈͪΞφλ࣍ୈ • ͬͱେنͳςετڥͰͬͨΒߴԽ ͯ͠Δͷ͔? • phpdbgͩͱ௨Βͳ͍ςετ͕͋ΔͷͰɺҠߦ લνΣοΫͱ͔ʹ͏?
https://github.com/ rela1470/ circleci-phpdbg
forked from suzuki/its-travel-pack (PHPBLT #4 by @suzuki) https://github.com/ rela1470/ its-travel-pack