Slide 1

Slide 1 text

CIサービス「Bitrise」を使って 最小限の労力でDanger + ktlintを Githubと連携させる Wataru Mizukami(水上 亘) Shibuya.apk #35

Slide 2

Slide 2 text

自己紹介 - Wataru Mizukami / 水上 亘 -         / @tarumzu (たる) - Organization / Freelance

Slide 3

Slide 3 text

CIサービス、何使ってますか?

Slide 4

Slide 4 text

モバイルアプリに特化した  CIサービス「Bitrise」とは - モバイルアプリに特化してるので設定が簡単 - ワークフローをGUIで直感的に設定できる - 日本での利用者も増えつつあり日本語の情報も豊富 - 第一回目のJapan Meetupが7月30日に開催! https://bitrise-japan.connpass.com/event/135945/

Slide 5

Slide 5 text

Dangerの設定 (Gemfile) Gemfile
 source "https://rubygems.org" gem "danger" gem "danger-checkstyle_format"

Slide 6

Slide 6 text

Dangerの設定 (Dangerfile) Dangerfile
 github.dismiss_out_of_range_messages # Ignore inline messages which lay outside a diff's range of PR github.dismiss_out_of_range_messages # Make it more obvious that a PR is a work in progress and shouldn't be merged yet warn("PR is classed as Work in Progress") if github.pr_title.include? "[WIP]" # ktlint checkstyle_format.base_path = Dir.pwd checkstyle_format.report 'app/build/reports/ktlint/ktlintMainSourceSetCheck.xml'

Slide 7

Slide 7 text

Ktlintの設定 1 build.gradle.kts
 buildscript { repositories { // 略 maven(url = "https://plugins.gradle.org/m2/" ) } dependencies { // 略 classpath("org.jlleitschuh.gradle:ktlint-gradle:8.0.0" ) } } 


Slide 8

Slide 8 text

Ktlintの設定 2 app/build.gradle.kts 
 plugins { id("org.jlleitschuh.gradle.ktlint" ) } // 略 ktlint { version.set("0.31.0") android.set(true) reporters.set(setOf(ReporterType.CHECKSTYLE)) ignoreFailures .set(true) // NOTE: エラーで中断させないための設定 } 
 


Slide 9

Slide 9 text

Bitriseの設定 1 サインアップ、サインイン後、Add New Appをクリック

Slide 10

Slide 10 text

Bitriseの設定 2 ワークフローのステップを下記の4つに

Slide 11

Slide 11 text

Bitriseの設定 3 Gradle Runnerを選択して、各項目に入力 Gradle task to run gradlew file path assembleDebug ktlintCheck ./gradlew

Slide 12

Slide 12 text

Bitriseの設定 4 Run Dangerを選択して、Access token for your projectに Githubのアクセストークンを設定する プライベート リポジトリ パブリックリ ポジトリ repoにチェックを入 れる public_repoにチェッ クを入れる アクセストークンの権限

Slide 13

Slide 13 text

Bitriseの設定 5 Access token for your project設定時の注意点 Expose for Pull Requestsにチェッ クを入れること

Slide 14

Slide 14 text

Bitriseの設定 6 トリガーはPULL REQUESTでTARGET BRANCHがmasterの 場合に発火するように設定する

Slide 15

Slide 15 text

以上で設定完了! プルリク作成してみると…

Slide 16

Slide 16 text

こんな感じに自動レビューされるよう になった!

Slide 17

Slide 17 text

まとめ - GUIで設定がとても簡単 - 最小限の工数で設定できるのでその分Android開発に専念で きる!

Slide 18

Slide 18 text

第1回目のBitrise User Group Meetupは 7月30日に開催です! https://bitrise-japan.connpass.com/event/135945/

Slide 19

Slide 19 text

ご清聴ありがとうございました!