Slide 1

Slide 1 text

1 ANDROID のコー ドを 自動で解析し GITHUB のプルリクに コメントする

Slide 2

Slide 2 text

2 WHO ARE YOU 石倉 昇 株式会社モンスター・ ラボ所属 受託でアプリとかWEB サー ビスとか作ってます 富山県の自宅でリモー トワー ク中 Twitter : @noboru_i

Slide 3

Slide 3 text

個人活動 http://noboru-i.github.io/

Slide 4

Slide 4 text

3 4 本題

Slide 5

Slide 5 text

たまにプルリクで上がってくるこんなやつ。 ・ 未使用のimport が残ってる ・static final なのに、 変数名が小文字 ・ スペー スが無い

Slide 6

Slide 6 text

5 「 ここにスペー スを入れて」 とか いちいちレビュー で指摘したくない。

Slide 7

Slide 7 text

6 「 それ、Checkstyle で指摘してくれるよ。」

Slide 8

Slide 8 text

7 ならば

Slide 9

Slide 9 text

8 Checkstyle をみんなが忘れず守れば解決!

Slide 10

Slide 10 text

9 でも、 忘れますよね。 にんげんだもの

Slide 11

Slide 11 text

10 いっぽう、 GitHub のプルリクに コメントあったら見ますよね?

Slide 12

Slide 12 text

11 Checkstyle の結果を コメントにしたらいいんじゃね?

Slide 13

Slide 13 text

12 既にありました。 packsaddle/ruby-saddler

Slide 14

Slide 14 text

13 あとは、push したらこれが動けばいい

Slide 15

Slide 15 text

14 ということで、 CircleCI にやってもらいましょう。

Slide 16

Slide 16 text

15 こんな感じ ついでなので、 Findbugs とかAndroid Lint とか いろいろやってもらいましょう。

Slide 17

Slide 17 text

16 まず、CircleCI の環境設定をして、

Slide 18

Slide 18 text

17 build.gradle にチェック項目を追加して、 a p p l y f r o m : " h t t p s : / / r a w . g i t h u b u s e r c o n t e n t . c o m / m o n s t a r - l a b / g r a d l e - a n d r o i d - c i - 詳細は monstar-lab/gradle-android-ci-check

Slide 19

Slide 19 text

18 saddler.sh として、 チェックの実行と プルリクへの反映をするscript を書き、 # ! / u s r / b i n / e n v b a s h e c h o " * * * * * * * * * * * * * * * * * * * * " e c h o " * i n s t a l l g e m s * " e c h o " * * * * * * * * * * * * * * * * * * * * " g e m i n s t a l l - - n o - d o c u m e n t c h e c k s t y l e _ f i l t e r - g i t s a d d l e r s a d d l e r - r e p o r t e r - g i t h i f [ $ ? - n e 0 ] ; t h e n e c h o ' F a i l e d t o i n s t a l l g e m s . ' e x i t 1 f i e c h o " * * * * * * * * * * * * * * * * * * * * " e c h o " * e x e c g r a d l e * " e c h o " * * * * * * * * * * * * * * * * * * * * " . / g r a d l e w a p p : c h e c k

Slide 20

Slide 20 text

19 circle.yml のtest として実行するように設定。 t e s t : o v e r r i d e : - . / s c r i p t s / s a d d l e r . s h

Slide 21

Slide 21 text

20 あとは、 修正をpush する度に CircleCI がチェックしてくれる。

Slide 22

Slide 22 text

21

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

22 統一されたフォー マット! 細かく指摘して嫌われない!

Slide 25

Slide 25 text

23 みんなHAPPY!

Slide 26

Slide 26 text

24 詳しくはWEB で。 Android のコー ドを自動で解析し、GitHub のpull request にコメントする - Qiita

Slide 27

Slide 27 text

25 WE ARE HIRING! 株式会社モンスター・ ラボ - Wantedly

Slide 28

Slide 28 text

27 ありがとうございました。