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
phpcsとphpmdを利用した継続的インテグレーション
Search
cosuke2000
November 30, 2016
Business
0
170
phpcsとphpmdを利用した継続的インテグレーション
cosuke2000
November 30, 2016
Tweet
Share
Other Decks in Business
See All in Business
おひさぽ ご説明資料
trinitytechnology
0
51k
【DearOne】Dear Newest Member
hrm
1
2.1k
『射精責任』を禁欲本へ
takuro_nakajima
PRO
1
1.5k
アッテル会社紹介資料/culture deck
attelu
10
10k
TOILETHON
takuro_nakajima
PRO
1
1.5k
WED行動指針
wed
1
1.4k
株式会社トラストバンク_採用ピッチ資料
sugahara
0
500
株式会社CINC 会社案内/Company introduction
cinchr
5
33k
会社説明について~株式会社リハス~
re9010matsubara
0
120
東大放射線科2025年度入局者向け資料
utrad
0
410
Nextfield|会社案内パンフレット
nextfield
0
130
ラクスル株式会社 会社概要(IR)
raksulrecruiting
5
5.1k
Featured
See All Featured
It's Worth the Effort
3n
180
27k
Debugging Ruby Performance
tmm1
70
11k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
Building Better People: How to give real-time feedback that sticks.
wjessup
355
18k
Mobile First: as difficult as doing things right
swwweet
216
8.6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
187
16k
Git: the NoSQL Database
bkeepers
PRO
422
63k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.9k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
Agile that works and the tools we love
rasmusluckow
325
20k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
Principles of Awesome APIs and How to Build Them.
keavy
121
16k
Transcript
phpcsとphpmdを利用した 継続的インテグレーション @マッチングッドさいとう
自己紹介 マッチングッド株式会社について 人材会社向けのクラウドの基幹システムを運営している会社 toBでPHPを利用しておりモダンな技術で顧客価値の向上を目指し中 私について マッチングッドで代表を務めさせていただいております 技術的にはソースレビューの8割を行っています
今日の概要 当社で行っているphpcsとphpmdを利用した 継続的インテグレーションについてご紹介 継続的インテグレーションとは? 継続的インテグレーション、CI(英: continuous integration)と は、主にプログラマーのアプリケーション作成時の品質改善や納期の短縮 のための習慣 @wikipedia
抱えていた課題 コーディング規約(PSRにほぼ準拠)があるのに、 なぜかコーディング規約が遵守されないソースがpushされる・・・ 皆さんならPSRを守ってもらうためにどうしますか?
最初にやったこと .editorconfigの準備 エディタの設定で何とかしようとしたが・・・ [*] charset = utf‐8 indent_size = 4
indent_style = space trim_trailing_whitespace = true insert_final_newline = true phpcsとphpmdをコマンドで叩く phpcs:コーディング規約を遵守させるためのツール phpmd:潜在バグをチェックするためのツール ルールは作ったが・・・
別の問題 .editorconfigではコーディング規約の全てをカバーできない コーディング規約の中にある未使用の変数を使わないなどの 潜在バグをキャッチできない・・・ phpcsとphpmdをコマンドで叩くのを忘れる
だって忘れるよね どうしたら忘れないようにできるでしょうか?
解決策 当社ではソース管理をgithubで行ってますが、 CircleCIと連携させました。 そして、CircleCIでphpcsとphpmdをソースのpush時に動かし、 ユニットテストだけでなく、phpcsとphpmdもパスしないと、 マスターにマージできないようにしました。 circle.ymlの一部 vendor/bin/phpcs ‐‐standard=phpcs.xml vendor/bin/phpunit
vendor/bin/phpmd app text phpmd.xml
イメージ githubのイメージ circleCIのイメージ
結果 コーディング規約に関するレビュー量が8割減!!
We are hiring! ご清聴ありがとうございました!