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
CakePHP2+BDD Pluginで カンタン受入れテスト
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kaz Watanabe
January 31, 2013
Programming
850
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CakePHP2+BDD Pluginで カンタン受入れテスト
2013/3/9
(CakePHPとか)PHPのテストについての勉強会@co-edo
Kaz Watanabe
January 31, 2013
More Decks by Kaz Watanabe
See All by Kaz Watanabe
開発エンジニアが取り組む DevSecOps ~ GitHub Enterprise × Azure での実践~
kaz29
0
41
Greenは本当にGreenか? - B/GデプロイとAPI自動テストで安心デプロイ
kaz29
1
200
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
1
500
開発エンジニアが実践するDevSecOps
kaz29
0
170
PHPCon福岡2024-Azureもなかなかいいですよ.pdf
kaz29
2
390
Azure Container Apps + Bicep 〜 こんな感じで運用しています
kaz29
3
1.3k
20220908_フロントエンドパフォーマンス改善.pdf
kaz29
2
200
PHP製のPodCast配信用WebアプリをReact+Next.jsなSSGで作り直してみた話
kaz29
3
720
バックエンドエンジニアの私がお勧めする SPAフロントエンド開発環境
kaz29
6
6.3k
Other Decks in Programming
See All in Programming
Webの地図
yosuke_furukawa
PRO
6
3.9k
Seeing Through Serverless: Observability for AWS Lambda with ADOT and CloudWatch Application Signals
seike460
PRO
1
130
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
130
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
190
Laravelのアプリケーションをどこにデプロイするか #ツナギメオフライン.9
akase244
0
120
アクセシビリティから考える情報設計
high_g_engineer
0
350
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
770
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
140
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
440
【高い買い物LT会】初任給で話題の国産フィジカルAIを買った話
akagami
PRO
0
140
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
120
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
270
Featured
See All Featured
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
340
Writing Fast Ruby
sferik
630
63k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
How to build a perfect <img>
jonoalderson
1
6k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
520
What's in a price? How to price your products and services
michaelherold
247
13k
Building Applications with DynamoDB
mza
96
7.2k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
490
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
690
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
330
Transcript
CakePHP2+Jenkins ͰܧଓతΠϯςάϨʔγϣϯ 2013/3/9 ʢCakePHPͱ͔ʣPHPͷςετʹ͍ͭͯͷษڧձ@co-edo Kaz Watanabe(@kaz_29) 133݄9༵
Who? Θͨͳ͔ͣͻΖ(@kaz_29) ϑϦʔϥϯε(decr.jp) Webܥͷ։ൃ ΞϓϦ͔ΒΠϯϑϥ·Ͱ... iPhone/iPadΞϓϦ։ൃ NiftyCloudϢʔβʔϒϩά #beer #iosdev #cakephp
#cat #camp #golf 133݄9༵
Who? ిྗάϥϑ DNS Console for Dozens 133݄9༵
ܧଓత ΠϯςάϨʔγϣϯ Continuous Integration 133݄9༵
ओʹϓϩάϥϚʔͷΞϓϦέʔγϣϯ࡞ ࣌ͷ࣭վળೲظͷॖͷͨΊͷश ׳ͷ͜ͱͰ͋ΔɻΤΫετϦʔϜɾϓϩ άϥϛϯάͷϓϥΫςΟεͷҰͭͰɺڱ ٛʹϏϧυςετɺΠϯεϖΫγϣ ϯͳͲΛܧଓతʹ࣮ߦ͍ͯ͘͜͠ͱΛҙ ຯ͢Δɻಛʹɺۙͷ։ൃʹ͓͍ͯɺ ܧଓతΠϯςάϨʔγϣϯΛαϙʔτ͢ ΔιϑτΣΞΛ༻͢Δ͜ͱ͕͋Δɻ http://ja.wikipedia.org/wiki/ܧଓతΠϯςάϨʔγϣϯ
133݄9༵
ϝϦοτ ͕͙͢ʹݟ͔ͭΔ Өڹൣғ͕খ͍͞͏ͪʹͤΔ ࣗಈͳͷͰख͕͔͔ؒΒͳ͍ มԽͷ༷ࢠΛ֬ೝͰ͖Δ 133݄9༵
http://amzn.to/rPiR9V https://speakerdeck.com/ryuzee/cakephp-plus-jenkinsniyoruaziyairukai-fa-number- phpmatsuri 133݄9༵
ಈ࡞ڥ 133݄9༵
ᶃpush ྲྀΕ ᶄgithub WebHook ᶅpoll ᶄcommit log ϛʔςΟϯάπʔϧ (։ൃऀϝϯό/ΫϥΠΞϯτ) ᶆBuild
ࣦഊ ϠόΠʂ͙ͤ͢ʙʂʂ 133݄9༵
Install https://gist.github.com/kaz29/5116408 Ubuntu 12.04 133݄9༵
php-job-template http://jenkins-php.org/ https://gist.github.com/kaz29/5116408#file-php-template-sh 133݄9༵
Build Trigger ଞϓϩδΣΫτͷϏϧυޙʹϏϧυ ϦϞʔτ͔ΒϏϧυ (ྫ: εΫϦϓτ͔Β) Build when a change
is pushed to GitHub SCMΛϙʔϦϯά ఆظతʹ࣮ߦ 133݄9༵
BuildͷΈ Apache Ant Phing Shell etc... 133݄9༵
Apache Ant Java༻ͷϏϧυπʔϧ ෳͷtargetΛࢦఆ targetͷґଘؔ ίϚϯυͷ࣮ߦ 133݄9༵
XMLॻ͘ͷ໘ (><) 133݄9༵
CakePHP2༻ ࡞ͬͨ https://gist.github.com/kaz29/5116408#file-build-xml 133݄9༵
ԿΛ͢Δ͔? lint - จ๏νΣοΫ phploc(*) - ϓϩδΣΫτͷنΛଌఆ pdpend (*) -
ύοέʔδ୯ҐͷϝτϦΫεͷଌఆ(ґଘͱ͔) phpcb (*) - ιʔείʔυຖͷঢ়ଶΛղੳ phpmd - ੩తղੳ(্࣮ͷΛݕग़) phpcs - ίʔσΟϯάنνΣοΫ phpcpd - ίϐϖίʔυͷݕग़ migration - DBͷϚΠάϨʔγϣϯ(cakedc/Migrations plugin) UnitTest - ୯ମςετ(CakePHP TestCase) StoryTest - डೖΕςετ(sizuhiko/Bdd plugin) 133݄9༵
Buildޙͷॲཧ BuildͰ࡞͞Εͨ݁ՌΛूܭ Checkstyle PMD phpcpd Code Coverage UnitTest݁Ռ 133݄9༵
133݄9༵
DEMO 133݄9༵
3ϲ݄·Θͨ͠ ײ 133݄9༵
༧֎ͷόά ͕ݟ͔ͭΔ 133݄9༵
Framework/Library Updateָ͕ 133݄9༵
ࠓޙͷ՝ 133݄9༵
JenkinsͷߴԽ 133݄9༵
UnitTest/Story Test ͷ 133݄9༵
ࣗಈ ʮσϓϩʙΠʂʯ 133݄9༵
Q? @kaz_29 133݄9༵