Suche senden
Hochladen
iOSにおけるコードレビューを一歩先へ進める
•
1 gefällt mir
•
2,506 views
S
Shunsuke Maeda
Folgen
iOSにおけるコードレビューについて、 Dangerを使って自動化できる部分は自動化した話。
Weniger lesen
Mehr lesen
Software
Melden
Teilen
Melden
Teilen
1 von 24
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らす
Shunsuke Maeda
バージョンアップ対応を軽減するサービス:マスティフ
バージョンアップ対応を軽減するサービス:マスティフ
Toshiyuki Hirata
iOSで利用できるデバイスファームのメリット・デメリットの紹介
iOSで利用できるデバイスファームのメリット・デメリットの紹介
Shunsuke Maeda
2017年のiOSアプリ開発におけるCI事情
2017年のiOSアプリ開発におけるCI事情
Toshiyuki Hirata
DroidKaigi_devicefarm
DroidKaigi_devicefarm
Shunsuke Maeda
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
Toshiyuki Hirata
コードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Android
Toshiyuki Hirata
fastlane x iOSアプリのCI
fastlane x iOSアプリのCI
Toshiyuki Hirata
Empfohlen
Dangerでpull requestレビューの指摘事項を減らす
Dangerでpull requestレビューの指摘事項を減らす
Shunsuke Maeda
バージョンアップ対応を軽減するサービス:マスティフ
バージョンアップ対応を軽減するサービス:マスティフ
Toshiyuki Hirata
iOSで利用できるデバイスファームのメリット・デメリットの紹介
iOSで利用できるデバイスファームのメリット・デメリットの紹介
Shunsuke Maeda
2017年のiOSアプリ開発におけるCI事情
2017年のiOSアプリ開発におけるCI事情
Toshiyuki Hirata
DroidKaigi_devicefarm
DroidKaigi_devicefarm
Shunsuke Maeda
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
マスティフ (for Xcode beta) - バージョンアップ対応を軽減するためのサービス
Toshiyuki Hirata
コードレビューをより良くする Danger x Android
コードレビューをより良くする Danger x Android
Toshiyuki Hirata
fastlane x iOSアプリのCI
fastlane x iOSアプリのCI
Toshiyuki Hirata
Pull request時の画面差分取得の自動化
Pull request時の画面差分取得の自動化
Shunsuke Maeda
Bluepillを使ったiOS自動テストの並列化
Bluepillを使ったiOS自動テストの並列化
Toshiyuki Hirata
iOSアプリの自動テストをはじめよう
iOSアプリの自動テストをはじめよう
Toshiyuki Hirata
DeNAにおけるSWETの役割
DeNAにおけるSWETの役割
Toshiyuki Hirata
Android e2e testing at mercari
Android e2e testing at mercari
Vishal Banthia
スマホアプリディレクターが考えていること
スマホアプリディレクターが考えていること
Kazuaki KURIU
Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -
Toshiyuki Hirata
UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法
Toshiyuki Hirata
iOSアプリ開発のCI環境 - Jenkins編 -
iOSアプリ開発のCI環境 - Jenkins編 -
Toshiyuki Hirata
iOSアプリにおけるリリースフローとCI環境
iOSアプリにおけるリリースフローとCI環境
Toshiyuki Hirata
バージョンアップの対応を軽減するためのサービスの構築
バージョンアップの対応を軽減するためのサービスの構築
Toshiyuki Hirata
Xcode10での テスト周りの進化をふりかえる
Xcode10での テスト周りの進化をふりかえる
Toshiyuki Hirata
fastlane snapshotの並列実行についてまとめてみた
fastlane snapshotの並列実行についてまとめてみた
Toshiyuki Hirata
Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境
Toshiyuki Hirata
OpenSTFを ECSに乗せてみた話
OpenSTFを ECSに乗せてみた話
司 知花
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
gree_tech
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
Toshiyuki Hirata
5minQues - SWET近況報告
5minQues - SWET近況報告
Masaki Nakagawa
SEゼミ2015 - OSS Hack 4 Beginners - フィードバック
SEゼミ2015 - OSS Hack 4 Beginners - フィードバック
Kouhei Sutou
長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化
gree_tech
MakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発を
Atsuhiro Kubo
2014-04-22 Ques #4 Automation Testing of Mobage Platform
2014-04-22 Ques #4 Automation Testing of Mobage Platform
Masaki Nakagawa
Weitere ähnliche Inhalte
Was ist angesagt?
Pull request時の画面差分取得の自動化
Pull request時の画面差分取得の自動化
Shunsuke Maeda
Bluepillを使ったiOS自動テストの並列化
Bluepillを使ったiOS自動テストの並列化
Toshiyuki Hirata
iOSアプリの自動テストをはじめよう
iOSアプリの自動テストをはじめよう
Toshiyuki Hirata
DeNAにおけるSWETの役割
DeNAにおけるSWETの役割
Toshiyuki Hirata
Android e2e testing at mercari
Android e2e testing at mercari
Vishal Banthia
スマホアプリディレクターが考えていること
スマホアプリディレクターが考えていること
Kazuaki KURIU
Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -
Toshiyuki Hirata
UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法
Toshiyuki Hirata
iOSアプリ開発のCI環境 - Jenkins編 -
iOSアプリ開発のCI環境 - Jenkins編 -
Toshiyuki Hirata
iOSアプリにおけるリリースフローとCI環境
iOSアプリにおけるリリースフローとCI環境
Toshiyuki Hirata
バージョンアップの対応を軽減するためのサービスの構築
バージョンアップの対応を軽減するためのサービスの構築
Toshiyuki Hirata
Xcode10での テスト周りの進化をふりかえる
Xcode10での テスト周りの進化をふりかえる
Toshiyuki Hirata
fastlane snapshotの並列実行についてまとめてみた
fastlane snapshotの並列実行についてまとめてみた
Toshiyuki Hirata
Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境
Toshiyuki Hirata
OpenSTFを ECSに乗せてみた話
OpenSTFを ECSに乗せてみた話
司 知花
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
gree_tech
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
Toshiyuki Hirata
5minQues - SWET近況報告
5minQues - SWET近況報告
Masaki Nakagawa
SEゼミ2015 - OSS Hack 4 Beginners - フィードバック
SEゼミ2015 - OSS Hack 4 Beginners - フィードバック
Kouhei Sutou
長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化
gree_tech
Was ist angesagt?
(20)
Pull request時の画面差分取得の自動化
Pull request時の画面差分取得の自動化
Bluepillを使ったiOS自動テストの並列化
Bluepillを使ったiOS自動テストの並列化
iOSアプリの自動テストをはじめよう
iOSアプリの自動テストをはじめよう
DeNAにおけるSWETの役割
DeNAにおけるSWETの役割
Android e2e testing at mercari
Android e2e testing at mercari
スマホアプリディレクターが考えていること
スマホアプリディレクターが考えていること
Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -
UIテストの実行時間の短縮の方法
UIテストの実行時間の短縮の方法
iOSアプリ開発のCI環境 - Jenkins編 -
iOSアプリ開発のCI環境 - Jenkins編 -
iOSアプリにおけるリリースフローとCI環境
iOSアプリにおけるリリースフローとCI環境
バージョンアップの対応を軽減するためのサービスの構築
バージョンアップの対応を軽減するためのサービスの構築
Xcode10での テスト周りの進化をふりかえる
Xcode10での テスト周りの進化をふりかえる
fastlane snapshotの並列実行についてまとめてみた
fastlane snapshotの並列実行についてまとめてみた
Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境
OpenSTFを ECSに乗せてみた話
OpenSTFを ECSに乗せてみた話
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
CEDEC2015_スマホゲーム開発を支えろ!〜汗と涙のQAエンジニアリング〜
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
5minQues - SWET近況報告
5minQues - SWET近況報告
SEゼミ2015 - OSS Hack 4 Beginners - フィードバック
SEゼミ2015 - OSS Hack 4 Beginners - フィードバック
長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化
Ähnlich wie iOSにおけるコードレビューを一歩先へ進める
MakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発を
Atsuhiro Kubo
2014-04-22 Ques #4 Automation Testing of Mobage Platform
2014-04-22 Ques #4 Automation Testing of Mobage Platform
Masaki Nakagawa
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
CROOZ, inc.
Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介
Makoto Haruyama
ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料
Go Sueyoshi (a.k.a sue445)
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
Manabu Shimobe
GitHub Actions で CI/CD
GitHub Actions で CI/CD
Issei Hiraoka
Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)
Kohsuke Kawaguchi
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!
ymmt
devsami kansai 2012 #c2
devsami kansai 2012 #c2
Yushi_Takagi
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
Yahoo!デベロッパーネットワーク
Robotium を使った UI テスト
Robotium を使った UI テスト
健一 辰濱
Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22
Shota Umeda
GitHubの機能を活用したGitHub Flowによる開発の進め方
GitHubの機能を活用したGitHub Flowによる開発の進め方
Takeshi Mikami
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
Takeshi Mikami
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
Toru Yamaguchi
Hacktoberfest 概要、Node-REDプロジェクト貢献手順
Hacktoberfest 概要、Node-REDプロジェクト貢献手順
Hitachi, Ltd. OSS Solution Center.
Developer summit continuous deliveryとjenkins
Developer summit continuous deliveryとjenkins
Kohsuke Kawaguchi
RustでWebSocketな自社APIを使う
RustでWebSocketな自社APIを使う
Satoshi Yoshikawa
決済金融から始めるデータドリブンカンパニー #yjmu
決済金融から始めるデータドリブンカンパニー #yjmu
Yahoo!デベロッパーネットワーク
Ähnlich wie iOSにおけるコードレビューを一歩先へ進める
(20)
MakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発を
2014-04-22 Ques #4 Automation Testing of Mobage Platform
2014-04-22 Ques #4 Automation Testing of Mobage Platform
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
GitLab & web hooks & git-flowで実現する企業向けgit環境の構築
Rails on GKEで運用するWebアプリケーションの紹介
Rails on GKEで運用するWebアプリケーションの紹介
ドリコムJenkins勉強会資料
ドリコムJenkins勉強会資料
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
GitHub Actions で CI/CD
GitHub Actions で CI/CD
Jenkins+Gitによる検証済みマージ(30分版)
Jenkins+Gitによる検証済みマージ(30分版)
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!
devsami kansai 2012 #c2
devsami kansai 2012 #c2
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
Robotium を使った UI テスト
Robotium を使った UI テスト
Gitと出会って人生変わった テックヒルズ2013-03-22
Gitと出会って人生変わった テックヒルズ2013-03-22
GitHubの機能を活用したGitHub Flowによる開発の進め方
GitHubの機能を活用したGitHub Flowによる開発の進め方
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
CircleCIを使ったSpringBoot/GAEアプリ開発の効率化ノウハウ
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
Hacktoberfest 概要、Node-REDプロジェクト貢献手順
Hacktoberfest 概要、Node-REDプロジェクト貢献手順
Developer summit continuous deliveryとjenkins
Developer summit continuous deliveryとjenkins
RustでWebSocketな自社APIを使う
RustでWebSocketな自社APIを使う
決済金融から始めるデータドリブンカンパニー #yjmu
決済金融から始めるデータドリブンカンパニー #yjmu
iOSにおけるコードレビューを一歩先へ進める
1.
Copyright © DeNA Co.,Ltd. All Rights Reserved. 俺コン Vol.1
/ Day. 1 2017/10/02 (Mon) 前⽥隼輔 SWETグループ DeNA Co., Ltd. iOSにおけるコードレビュー を⼀歩先へ進める
2.
Copyright © DeNA Co.,Ltd. All Rights Reserved. n前⽥隼輔 • @duck8823 •
所属 • DeNA SWETグループ テスト基盤チーム ⾃⼰紹介
3.
Copyright © DeNA Co.,Ltd. All Rights Reserved. Dangerを利⽤したレビュー(前)チェック • GitHub
Bot を簡単に作るツール • PRを静的チェック
4.
Copyright © DeNA Co.,Ltd. All Rights Reserved. Dangerを利⽤したレビュー(前)チェック https://www.slideshare.net/ShunsukeMaeda/dangerpull- request?qid=4757fbc8-16c0-4f07-ae16- 6f0eb90ec7b2&v=&b=&from_search=1 https://www.slideshare.net/ShunsukeMaeda/pull-request- 76210799?qid=2a587e94-f5f8-4b79-aebd- 0b32b4b6f028&v=&b=&from_search=1 • Dangerの紹介 •
PR時のチェックルール の紹介 • GitHubを⽤いて画⾯ 差分を視覚化
5.
Copyright © DeNA Co.,Ltd. All Rights Reserved. Dangerでチェックしているルール • タイトルが
WIP になっていないか • 変更があったディレクトリに応じて CIジョブ が実⾏されているか (コミットステータスのチェック) • プロダクトコードの変更 => ビルド / テスト • テストコードの変更 => テスト • リソースファイルの変更 => 画⾯のキャプチャ • チケットのURLが貼られているか
6.
Copyright © DeNA Co.,Ltd. All Rights Reserved. リソースの変更 =>
画⾯のキャプチャ • リソースファイルの変更で 画像取得ジョブ • 画像はジョブ実⾏時に ⾃動プッシュ
7.
Copyright © DeNA Co.,Ltd. All Rights Reserved. Dangerでチェックしているルール • タイトルが
WIP になっていないか • 変更があったディレクトリに応じて CIジョブ が実⾏されているか (コミットステータスのチェック) • プロダクトコードの変更 => ビルド / テスト • テストコードの変更 => テスト • リソースファイルの変更 => 画⾯のキャプチャ • チケットのURLが貼られているか さらに掘り下げる
8.
Copyright © DeNA Co.,Ltd. All Rights Reserved. どのコミットステータスをみるのか
9.
Copyright © DeNA Co.,Ltd. All Rights Reserved. とあるPull Request...
(実際の画⾯とは異なります) • プロダクトコードの変更 commit 1 • テストコードの変更 commit 2 ビルドしてテストして • レビューしてええで • README更新 commit 3 • レビューお願い • ビルドとテストやってから⾔って
10.
Copyright © DeNA Co.,Ltd. All Rights Reserved. • プロダクトコードの変更
commit 1 • テストコードの変更 commit 2 ビルドしてテストして • レビューしてええで • README更新 commit 3 • レビューお願い • ビルドとテストやってから⾔って ビルド テスト とあるPull Request... (実際の画⾯とは異なります)
11.
Copyright © DeNA Co.,Ltd. All Rights Reserved. • プロダクトコードの変更
commit 1 • テストコードの変更 commit 2 レビューお願い • レビューしてええで • README更新 commit 3 • レビューお願い • ビルドとテストやってから⾔って ビルド テスト とあるPull Request... (実際の画⾯とは異なります)
12.
Copyright © DeNA Co.,Ltd. All Rights Reserved. • プロダクトコードの変更
commit 1 • テストコードの変更 commit 2 レビューお願い • レビューしてええで • README更新 commit 3 • レビューお願い • ビルドとテストやってから⾔って ビルド テスト とあるPull Request... (実際の画⾯とは異なります)
13.
Copyright © DeNA Co.,Ltd. All Rights Reserved. • プロダクトコードの変更
commit 1 • テストコードの変更 commit 2 レビューお願い • レビューしてええで • README更新 commit 3 • レビューお願い • ビルドとテストしてから⾔って ビルド テスト とあるPull Request... (実際の画⾯とは異なります)
14.
Copyright © DeNA Co.,Ltd. All Rights Reserved. • プロダクトコードの変更
commit 1 • テストコードの変更 commit 2 レビューお願い • レビューしてええで • README更新 commit 3 • レビューお願い • ビルドとテストしてから⾔って ビルド テスト 直前のコミットステータス しかみない 無駄にCIを回す とあるPull Request... (実際の画⾯とは異なります)
15.
Copyright © DeNA Co.,Ltd. All Rights Reserved. 過去の成功からの差分を⾒る • プロダクトコードの変更
commit 1 • テストコードの変更 commit 2 レビューお願い • レビューしてええで • README更新 commit 3 • レビューお願い • レビューしてええで ビルド テスト HEAD - 前回成功間 でソースに変更が あるかチェック
16.
Copyright © DeNA Co.,Ltd. All Rights Reserved. DangerfileでGitHub API •
github.api でOctokitインスタンス取得 • GitHub API v3に対応した Rubyクライアント • トークンでログイン済み • Auto Paginate は true になっている • ステータス取得メソッドなど • Octokit経由で Pull Request の操作も可能( やりすぎは注意 )
17.
Copyright © DeNA Co.,Ltd. All Rights Reserved. Dangerプラグインを作成するときの注意 • Dangerプラグインの引数なしメソッドは danger
local または danger pr でコールされる • Pull Request をクローズ / オープンする 引数なしメソッドを作ると...
18.
Copyright © DeNA Co.,Ltd. All Rights Reserved. Dangerでチェックしているルール • タイトルが
WIP になっていないか • 変更があったディレクトリに応じて CIジョブ が実⾏されているか (コミットステータスのチェック) • プロダクトコードの変更 => ビルド / テスト • テストコードの変更 => テスト • リソースファイルの変更 => 画⾯のキャプチャ • チケットのURLが貼られているか さらに掘り下げる
19.
Copyright © DeNA Co.,Ltd. All Rights Reserved. ディレクトリ構造 ≠
プロジェクト構造
20.
Copyright © DeNA Co.,Ltd. All Rights Reserved. ディレクトリ構造 ≠
プロジェクト構造 • プロジェクト( .xcodeproj ) への追加( コミット )漏れ • プロジェクトターゲットが複数ディレクトリにまたがる場合 判断しづらい
21.
Copyright © DeNA Co.,Ltd. All Rights Reserved. ディレクトリ構造 ≠
プロジェクト構造 • プロジェクト( .xcodeproj ) への追加( コミット )漏れ • プロジェクトターゲットが複数ディレクトリにまたがる場合 判断しづらい プロジェクト構造から判断する
22.
Copyright © DeNA Co.,Ltd. All Rights Reserved. Dangerfileで プロジェクトのファイルを⾒る •
DangerfileではGemが使える => xcodeproj https://rubygems.org/gems/xcodeproj • 特定のターゲットのファイル⼀覧を取得できる https://github.com/CocoaPods/Xcodeproj
23.
Copyright © DeNA Co.,Ltd. All Rights Reserved. Dangerでのチェック • 指定ディレクトリ以下にファイルが追加・削除された際に
.xcodeproj も更新されているかどうか • 変更があったディレクトリプロジェクトターゲットに応じて CIジョブ が実⾏されているか
24.
Copyright © DeNA Co.,Ltd. All Rights Reserved. まとめ • 最新のコミットだけでなくPR全体で判断する •
ディレクトリではなくプロジェクト構造をみる • Dangerfile は Ruby DSL • 便利なライブラリはどんどん使おう( Octokit / xcodeproj )
Jetzt herunterladen