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
CakePHP2+BDD Pluginで カンタン受入れテスト
Search
Kaz Watanabe
January 31, 2013
Programming
0
800
CakePHP2+BDD Pluginで カンタン受入れテスト
2013/3/9
(CakePHPとか)PHPのテストについての勉強会@co-edo
Kaz Watanabe
January 31, 2013
Tweet
Share
More Decks by Kaz Watanabe
See All by Kaz Watanabe
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
1
330
開発エンジニアが実践するDevSecOps
kaz29
0
100
PHPCon福岡2024-Azureもなかなかいいですよ.pdf
kaz29
2
220
Azure Container Apps + Bicep 〜 こんな感じで運用しています
kaz29
3
1.1k
20220908_フロントエンドパフォーマンス改善.pdf
kaz29
2
160
PHP製のPodCast配信用WebアプリをReact+Next.jsなSSGで作り直してみた話
kaz29
3
650
バックエンドエンジニアの私がお勧めする SPAフロントエンド開発環境
kaz29
6
6.1k
201909-PHPCon北海道-PHPでCI_CD.pdf
kaz29
0
3.8k
2019/02/27 PHP勉強会 #135 PHPでCI・CD
kaz29
0
340
Other Decks in Programming
See All in Programming
型で語るカタ
irof
2
890
フロントエンドのパフォーマンスチューニング
koukimiura
6
2.3k
なぜあなたのオブザーバビリティ導入は頓挫するのか
ryota_hnk
4
530
MySQL9でベクトルカラム登場!PHP×AWSでのAI/類似検索はこう変わる
suguruooki
1
260
Gemini CLIの"強み"を知る! Gemini CLIとClaude Codeを比較してみた!
kotahisafuru
2
740
SQLアンチパターン第2版 データベースプログラミングで陥りがちな失敗とその対策 / Intro to SQL Antipatterns 2nd
twada
PRO
35
10k
可変性を制する設計: 構造と振る舞いから考える概念モデリングとその実装
a_suenami
8
1.1k
「次に何を学べばいいか分からない」あなたへ──若手エンジニアのための学習地図
panda_program
3
680
QA x AIエコシステム段階構築作戦
osu
0
220
オンコール⼊⾨〜ページャーが鳴る前に、あなたが備えられること〜 / Before The Pager Rings
yktakaha4
2
1.2k
iOS開発スターターキットの作り方
akidon0000
0
230
GPUを計算資源として使おう!
primenumber
1
300
Featured
See All Featured
Faster Mobile Websites
deanohume
308
31k
RailsConf 2023
tenderlove
30
1.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
Writing Fast Ruby
sferik
628
62k
The Cult of Friendly URLs
andyhume
79
6.5k
Agile that works and the tools we love
rasmusluckow
329
21k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
The Invisible Side of Design
smashingmag
301
51k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
How GitHub (no longer) Works
holman
314
140k
Navigating Team Friction
lara
188
15k
How STYLIGHT went responsive
nonsquared
100
5.7k
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༵