Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Why to use Scrutinizer

imunew
April 26, 2015

Why to use Scrutinizer

Symfony Meetup #3 で発表したスライドです。
https://symfony.doorkeeper.jp/events/23051

#symfony_meetup

imunew

April 26, 2015
Tweet

More Decks by imunew

Other Decks in Programming

Transcript

  1. Why  to  use  Scrutinizer Improve  code  quality  and  find  bugs

     before  they  hit   production  with  our  continuous  inspection  platform symfony  meetup  #3  (2015.04.26) @imunew
  2. •  Symfonyもくもく会  #4  を開催しました   -‐‑‒  kseta's  blog http://kseta.hatenablog.jp/entry/2015/02/22/222158 • 

    ⼊入社当時(2013年年5⽉月頃)、Jenkins +phpcpd、phpmdで社内のコードを静的 解析して遊んでいた http://www.ryuzee.com/contents/blog/3453 http://www.ryuzee.com/contents/blog/3479
  3. •  sign  in  (Log  in  via  Github) •  Add  Repository

    •  Build  失敗  =  Test  Failed – ここで若若⼲干試⾏行行錯誤 – /.scrutinizer.yml  を作成 – 除外ファイルを指定 – テスト実⾏行行前に必要な処理理を記述 – テスト実⾏行行時のコマンドを記述(上書き) – とりあえず、テストを全部成功させる (phpunit.xml  でexclude設定したり)
  4. •  すぐ修正できる箇所は修正 –  未定義のメンバ変数への代⼊入 –  未使⽤用のコードを削除 •  PHPの⾔言語仕様を再確認 –  selfとstaticの違い

    private  static  な変数に、static::$hogeと参照すると、 Bugでissueが... •  とにかくRatingに⼀一喜⼀一憂 –  点数が上がるのが楽しい(ゲーミフィケーション)
  5. 1.  作業⽤用ブランチを作成 2.  リモートにpush(空でもOK) 3.  [WIP]  PR作成 4.  push 5. 

    Scrutinizer-‐‑‒CIのビルド結果を確認 6.  問題なければ、[WIP]を外してレビュー 7.  merge  pull  request
  6. •  scrutinizer-‐‑‒ciでビルドしないと問題がわから ない – php-‐‑‒analyzerを単体でローカルで実⾏行行したい •  issueが多すぎる – issue  filterの検討 •  ローカルではテストが成功するのに、

    scrutinizer-‐‑‒ciでテストが失敗する – scrutinizer-‐‑‒ciがどうやってsourceを取ってきてい るか詳細が分からない – ssh  loginさせてほしい