LoginSignup
14
10

More than 5 years have passed since last update.

LaravelプロジェクトのコードをCircleCI上のPHPStanで静的解析してreviewdogにコメントしてもらう

Last updated at Posted at 2019-02-09

個人開発でもCIがしたい

2016年6月にSonarQubeでPHPのコードを静的解析するという記事を書きました。
その中で、「静的解析の結果がGitHub上にコメントされることが修正には大事」だということも書きました。
2019年現在(というよりもう結構前から)、SonarQubeのPull Requestへのコメント機能は有償の機能の一部になっています。
個人開発で同じようなことができないかなーということで表題のような構成を試してみました。

なお、SonarQubeを完全に代替できるわけではありません。SonarQubeは過去からの推移がみられるダッシュボードがあったり、GUIで細かくルールが決められて便利。

やったこと

Image from Gyazo
このような感じで、PRを出したら、変更点に対して静的解析の結果をコメントしてもらいたい。

登場人物

  • PHPStan:静的解析ツール。
    • Larastan: PHPStanのLaravel向けラッパー。
  • reviewdog: Gitのdiffと解析ツールの結果をまとめてGitHubに通知してくれる。今回はPHPStanの解析結果をGitHubにコメントしてもらうために使う。
  • CircleCI: YAMLで設定を書くとコンテナ上で命令を(例えばテストを回すとか)実行してくれるプラットフォーム。今回はGitHubのリポジトリを引っ張ってきてPHPStanを実行し、結果をreviewdogに渡すために使う。
  • Laravel: PHPのWAF。テスト対象のアプリケーションの例。

やりかた

https://scrapbox.io/kadoyau/Larastan_+_reviewdog_+_CircleCI
自分の知っていることはすべてScrapboxに書き出しており、説明が楽なためにここからはScrapboxでみてください。Qiitaさん、ごめんなさい(ぺこり)

14
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
10