Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Copyright © DeNA Co.,Ltd. All Rights Reserved.
DangerでPull Request
レビューの指摘事項
を減らす
AKIBA.swift スーパー勉強会
April 17, 2017
前田隼輔
...
Copyright © DeNA Co.,Ltd. All Rights Reserved.
自己紹介
 前田隼輔
⁃ 所属
• DeNA システム本部 SWETグループ テスト基盤チーム
⁃ 経歴
• 3月に DeNA SWETグループ に...
Copyright © DeNA Co.,Ltd. All Rights Reserved.
Pull Requestでこんなことありませんか?
3
ソースコード
いじってるけど
ビルドは通った?
masterブランチ
にはマージしないで
くだ...
Copyright © DeNA Co.,Ltd. All Rights Reserved.
そこで
4
http://danger.systems/
https://github.com/danger/danger
Copyright © DeNA Co.,Ltd. All Rights Reserved.
5
🚫 Stop saying “you forgot to …”
in code review
Copyright © DeNA Co.,Ltd. All Rights Reserved.
今日お話しすること
 Dangerとは
 Dangerでできること
 SWET テスト基盤チームでの事例
6
Copyright © DeNA Co.,Ltd. All Rights Reserved.
今日お話しすること
 Dangerとは
 Dangerでできること
 SWET テスト基盤チームでの事例
7
Copyright © DeNA Co.,Ltd. All Rights Reserved.
Dangerとは
 Pull Request時の確認事項を自動化できるツール
 Dangerfile を作成し、その中で自由にチェックできる
 ...
Copyright © DeNA Co.,Ltd. All Rights Reserved.
Dangerとは
 Pull Request時の確認事項を自動化できるツール
 Dangerfile を作成し、その中で自由にチェックできる
 ...
Copyright © DeNA Co.,Ltd. All Rights Reserved.
Dangerとは
10
Copyright © DeNA Co.,Ltd. All Rights Reserved.
今日お話しすること
 Dangerとは
 Dangerでできること
 SWET テスト基盤チームでの事例
11
Copyright © DeNA Co.,Ltd. All Rights Reserved.
Dangerでできること
 Dangerfile では Ruby構文 が使える
 ホスティングサービスへの通知のためのDSL
⁃ message ...
Copyright © DeNA Co.,Ltd. All Rights Reserved.
Dangerでできること
 Dangerfile では Ruby構文 が使える
 ホスティングサービスへの通知のためのDSL
⁃ message ...
Copyright © DeNA Co.,Ltd. All Rights Reserved.
Dangerでできること
 Dangerfile では Ruby構文 が使える
 ホスティングサービスへの通知のためのDSL
⁃ message ...
Copyright © DeNA Co.,Ltd. All Rights Reserved.
今日お話しすること
 Dangerとは
 Dangerでできること
 SWET テスト基盤チームでの事例
15
Copyright © DeNA Co.,Ltd. All Rights Reserved.
利用しているツールの組み合わせ
 Gitホスティングサービス
⁃ GitHub Enterprise
 CI / CDツール
⁃ Jenkins
...
Copyright © DeNA Co.,Ltd. All Rights Reserved.
GitHub Pull Request Builder + fastlane
 GitHub Pull Request Builder
⁃ PRのコ...
Copyright © DeNA Co.,Ltd. All Rights Reserved.
GitHub Pull Request Builder + fastlane
 GitHub Pull Request Builder
⁃ comm...
Copyright © DeNA Co.,Ltd. All Rights Reserved.
fastlaneには danger アクションが用意されている
bundle exec fastlane する場合は必ず
use_bundle_exe...
Copyright © DeNA Co.,Ltd. All Rights Reserved.
review レーンで Danger を実行
20
Copyright © DeNA Co.,Ltd. All Rights Reserved.
チームで用いているPull Requestルール
21
 .storyboard または .xibに変更があった場合、
画像が貼り付けられていること...
Copyright © DeNA Co.,Ltd. All Rights Reserved.
コード化
 .storyboard または .xibに変更があった場合、
PR本文中に画像が貼り付けられていること
 テストディレクトリ以下に変更...
Copyright © DeNA Co.,Ltd. All Rights Reserved.
共通なものはプラグイン化
23
 Pull Request本文に PULL_REQUEST_TEMPLATE.md と同じ項目
があり、テンプレート...
Copyright © DeNA Co.,Ltd. All Rights Reserved.
ラベルを自動的に貼る
24
 全てOK だった場合に In Review のラベルを追加
ラベルがある場合は安心してレビューできる
Copyright © DeNA Co.,Ltd. All Rights Reserved.
最後に
25
 Danger を使って PRの形式や最低限の条件 をチェックを 自動化
 プロジェクトに Dangerfile を用意して
Pul...
Upcoming SlideShare
Loading in …5
×

Dangerでpull requestレビューの指摘事項を減らす

3,187 views

Published on

Dangerというツールを使って Pull Request のレビューでの指摘を減らしましょう。

Published in: Technology
  • Dating for everyone is here: ❶❶❶ http://bit.ly/36cXjBY ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Sex in your area is here: ❶❶❶ http://bit.ly/36cXjBY ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • If you want to download or read this book, copy link or url below in the New tab ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THAT BOOKS/FILE INTO AVAILABLE FORMAT - (Unlimited) ......................................................................................................................... ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes Christian, Classics, Comics, Contemporary, Cookbooks, Art, Biography, Business, Chick Lit, Children's, Manga, Memoir, Music, Science, Science Fiction, Self Help, History, Horror, Humor And Comedy, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Dangerでpull requestレビューの指摘事項を減らす

  1. 1. Copyright © DeNA Co.,Ltd. All Rights Reserved. DangerでPull Request レビューの指摘事項 を減らす AKIBA.swift スーパー勉強会 April 17, 2017 前田隼輔 SWETグループ DeNA Co., Ltd.
  2. 2. Copyright © DeNA Co.,Ltd. All Rights Reserved. 自己紹介  前田隼輔 ⁃ 所属 • DeNA システム本部 SWETグループ テスト基盤チーム ⁃ 経歴 • 3月に DeNA SWETグループ に Join • それまでは SIer でWebアプリ開発 ⁃ 普段の業務 • CI/CD環境整備、ツールの検証 • バージョンアップ自動検証システムの開発 2
  3. 3. Copyright © DeNA Co.,Ltd. All Rights Reserved. Pull Requestでこんなことありませんか? 3 ソースコード いじってるけど ビルドは通った? masterブランチ にはマージしないで ください 対応するチケットの URLを載せてください ロジックや設計以外での指摘事項が多すぎる
  4. 4. Copyright © DeNA Co.,Ltd. All Rights Reserved. そこで 4 http://danger.systems/ https://github.com/danger/danger
  5. 5. Copyright © DeNA Co.,Ltd. All Rights Reserved. 5 🚫 Stop saying “you forgot to …” in code review
  6. 6. Copyright © DeNA Co.,Ltd. All Rights Reserved. 今日お話しすること  Dangerとは  Dangerでできること  SWET テスト基盤チームでの事例 6
  7. 7. Copyright © DeNA Co.,Ltd. All Rights Reserved. 今日お話しすること  Dangerとは  Dangerでできること  SWET テスト基盤チームでの事例 7
  8. 8. Copyright © DeNA Co.,Ltd. All Rights Reserved. Dangerとは  Pull Request時の確認事項を自動化できるツール  Dangerfile を作成し、その中で自由にチェックできる  チェック結果はホスティングサービスに通知し、 Pull Request内の commit status に反映できる  GitやGitホスティングサービスから情報を取得している 8
  9. 9. Copyright © DeNA Co.,Ltd. All Rights Reserved. Dangerとは  Pull Request時の確認事項を自動化できるツール  Dangerfile を作成し、その中で自由にチェックできる  チェック結果はホスティングサービスに通知し、 Pull Request内の commit status に反映できる  GitやGitホスティングサービスから情報を取得している 9 Pull Requestの確認を自動化 するための基盤の提供
  10. 10. Copyright © DeNA Co.,Ltd. All Rights Reserved. Dangerとは 10
  11. 11. Copyright © DeNA Co.,Ltd. All Rights Reserved. 今日お話しすること  Dangerとは  Dangerでできること  SWET テスト基盤チームでの事例 11
  12. 12. Copyright © DeNA Co.,Ltd. All Rights Reserved. Dangerでできること  Dangerfile では Ruby構文 が使える  ホスティングサービスへの通知のためのDSL ⁃ message / warn / fail / markdown  git や github といった変数に情報が含まれている  github.api で OctoKit (GitHub APIの Rubyクライアント)を取得できる 12
  13. 13. Copyright © DeNA Co.,Ltd. All Rights Reserved. Dangerでできること  Dangerfile では Ruby構文 が使える  ホスティングサービスへの通知のためのDSL ⁃ message / warn / fail / markdown  git や github といった変数に情報が含まれている  github.api で OctoKit (GitHub APIの Rubyクライアント)を取得できる 13 Ruby と GitHub API の知識があれば(なくてもググれば) なんでもできる
  14. 14. Copyright © DeNA Co.,Ltd. All Rights Reserved. Dangerでできること  Dangerfile では Ruby構文 が使える  ホスティングサービスへの通知のためのDSL ⁃ message / warn / fail / markdown  git や github といった変数に情報が含まれている  github.api で OctoKit (GitHub APIの Rubyクライアント)を取得できる 14 目的を見失わないように 🚫 Stop saying “you forgot to …” in code review
  15. 15. Copyright © DeNA Co.,Ltd. All Rights Reserved. 今日お話しすること  Dangerとは  Dangerでできること  SWET テスト基盤チームでの事例 15
  16. 16. Copyright © DeNA Co.,Ltd. All Rights Reserved. 利用しているツールの組み合わせ  Gitホスティングサービス ⁃ GitHub Enterprise  CI / CDツール ⁃ Jenkins ⁃ + GitHub Pull Request Builder  ビルドマネージャ ⁃ fastlane 🚀 16
  17. 17. Copyright © DeNA Co.,Ltd. All Rights Reserved. GitHub Pull Request Builder + fastlane  GitHub Pull Request Builder ⁃ PRのコメント(Phrase)でビルドを開始できる  fastlane 🚀 ⁃ モバイルアプリに便利なビルドマネージャ lane名によって処理を振り分けることができる 17 ${ghgrpCommentBody} にPhraseが入る
  18. 18. Copyright © DeNA Co.,Ltd. All Rights Reserved. GitHub Pull Request Builder + fastlane  GitHub Pull Request Builder ⁃ commit status に phrase (= lane名) を指定 18 Contextを Phraseにする
  19. 19. Copyright © DeNA Co.,Ltd. All Rights Reserved. fastlaneには danger アクションが用意されている bundle exec fastlane する場合は必ず use_bundle_exec: false にしましょう 19 > fastlane actions danger
  20. 20. Copyright © DeNA Co.,Ltd. All Rights Reserved. review レーンで Danger を実行 20
  21. 21. Copyright © DeNA Co.,Ltd. All Rights Reserved. チームで用いているPull Requestルール 21  .storyboard または .xibに変更があった場合、 画像が貼り付けられていること  ソースディレクトリ に変更があった場合、 ビルド と シミュレータによるテスト が実行されていること  テストディレクトリ に変更があった場合、 シミュレータによるテスト が実行されていること  ビルド および テスト が実行されていた場合、 最新の結果が 成功 していること  Pull Request本文に PULL_REQUEST_TEMPLATE.md と同じ項目 があり、テンプレートから変更されていること  TODO のチェックが埋まっていること  ビルド と テスト はラベルによってスキップ可能  全てOK だった場合に In Review のラベルを追加
  22. 22. Copyright © DeNA Co.,Ltd. All Rights Reserved. コード化  .storyboard または .xibに変更があった場合、 PR本文中に画像が貼り付けられていること  テストディレクトリ以下に変更があった場合、 シミュレータによるテスト が実行されていること  ビルド および テスト が実行されていた場合、 最新の結果が 成功 していること
  23. 23. Copyright © DeNA Co.,Ltd. All Rights Reserved. 共通なものはプラグイン化 23  Pull Request本文に PULL_REQUEST_TEMPLATE.md と同じ項目 があり、テンプレートから変更されていること  TODO のチェックが埋まっていること  プラグインの作成も簡単 > danger plugins create プラグイン名 で作られたプロジェクト(danger-プラグイン名)の lib/プラグイン名/plugin.rb を編集  作成したプラグインの利用 Gemfileに追加するだけ PR本文の形式は プラグインでまとめて検証
  24. 24. Copyright © DeNA Co.,Ltd. All Rights Reserved. ラベルを自動的に貼る 24  全てOK だった場合に In Review のラベルを追加 ラベルがある場合は安心してレビューできる
  25. 25. Copyright © DeNA Co.,Ltd. All Rights Reserved. 最後に 25  Danger を使って PRの形式や最低限の条件 をチェックを 自動化  プロジェクトに Dangerfile を用意して Pull Request レビュー(前)指摘事項を減らしましょう

×