CIサービス「Bitrise」を使って 最小限の労力でDanger + ktlintをGithubと連携させる

CIサービス「Bitrise」を使って 最小限の労力でDanger + ktlintをGithubと連携させる

Bf8dccb5b8479c3a589004d3154b6f5f?s=128

Wataru Mizukami

June 28, 2019
Tweet

Transcript

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

  2. 自己紹介 - Wataru Mizukami / 水上 亘 -         / @tarumzu

    (たる) - Organization / Freelance
  3. CIサービス、何使ってますか?

  4. モバイルアプリに特化した  CIサービス「Bitrise」とは - モバイルアプリに特化してるので設定が簡単 - ワークフローをGUIで直感的に設定できる - 日本での利用者も増えつつあり日本語の情報も豊富 - 第一回目のJapan

    Meetupが7月30日に開催! https://bitrise-japan.connpass.com/event/135945/
  5. Dangerの設定 (Gemfile) Gemfile
 source "https://rubygems.org" gem "danger" gem "danger-checkstyle_format"

  6. 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'
  7. Ktlintの設定 1 build.gradle.kts
 buildscript { repositories { // 略 maven(url

    = "https://plugins.gradle.org/m2/" ) } dependencies { // 略 classpath("org.jlleitschuh.gradle:ktlint-gradle:8.0.0" ) } } 

  8. 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: エラーで中断させないための設定 } 
 

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

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

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

    path assembleDebug ktlintCheck ./gradlew
  12. Bitriseの設定 4 Run Dangerを選択して、Access token for your projectに Githubのアクセストークンを設定する プライベート

    リポジトリ パブリックリ ポジトリ repoにチェックを入 れる public_repoにチェッ クを入れる アクセストークンの権限
  13. Bitriseの設定 5 Access token for your project設定時の注意点 Expose for Pull

    Requestsにチェッ クを入れること
  14. Bitriseの設定 6 トリガーはPULL REQUESTでTARGET BRANCHがmasterの 場合に発火するように設定する

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

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

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

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

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