Slide 1

Slide 1 text

2017/09/21 Android Test Night #1 Tadashi Nemoto Android CIをBitriseに移行して開発者・QAが 幸せになったこと

Slide 2

Slide 2 text

自己紹介 • 根本 征 (github: tadashi0713) • Software Engineer in Test @mercari • モバイルアプリ・WEBアプリをぶり ぶり自動化

Slide 3

Slide 3 text

QA-SETチーム http://tech.mercari.com/entry/2017/08/18/100138

Slide 4

Slide 4 text

JP版 AndroidアプリのCIを Bitriseに移行した話

Slide 5

Slide 5 text

移行前のCI環境 • Circle CI • PR毎のビルド & テスト • Dev版 DeployGateの配布 • QAはDeployGateで配布されたものを 使って検証 • リリースビルド & Google Playへのアッ プロードは手元で行われていた

Slide 6

Slide 6 text

手作業による エンジニアコスト・ミスを防ぎたい リリース版ビルド & Play StoreのアップロードをCI で自動化しよう

Slide 7

Slide 7 text

Bitriseとは ● モバイルアプリ向けCIサービス ● GUIで簡単にWorkflowを作成できる ● 他サービスとのIntegrationが簡単・充実 ● 社内別アプリでの利用実績あり(結構重要)

Slide 8

Slide 8 text

Step google play deploy

Slide 9

Slide 9 text

初めてでもGoogle Playへのデプロイまで簡単作成 • 開発者がtagを付ける or Slackコマンドを叩くだけでリ リースビルド・Google Playへのデプロイまで自動で行わ れる • 開発者・QA共に手動で行うよりも安心感が持てる • Workflow上でDeployGateにもアップロードしているの で、リリース前に簡単にリリース版が手に入る

Slide 10

Slide 10 text

E2Eテストとの連携が楽になった

Slide 11

Slide 11 text

リリース前にAppiumを使ってE2Eテスト実行 master slave

Slide 12

Slide 12 text

DeployGateから直接apkを取ってくるのが難しい 基本Upload・社内配布するためのサービス 特定のバージョンのapkをダウンロードするAPIがない DeployGateのページで手動でDLしてテストを実行させていた

Slide 13

Slide 13 text

同時にapkをGoogle Cloud Storageに上げる DeployGateに アップロード with message $BITRISE_BUILD_NUMBER GCSに アップロード

Slide 14

Slide 14 text

簡単にapkのダウンロード・テスト実行が可能に DeployGateを見てBitriseのBuild Numberを Jenkins Jobのパラメーターで指定すればOK QA(非プログラマー)でも簡単・頻繁にテスト実行が可能に DL

Slide 15

Slide 15 text

Integration 他にも https://www.bitrise.io/integrations Open STF Connect 簡単にBitriseからOpen STF に接続・実機でInstrument Testなどを行うことができる Create JIRA Comment with Build Bitriseからビルド番号・ダウン ロードリンクなどをJIRAにコメ ント投稿できる

Slide 16

Slide 16 text

Open STF を使って実機でInstrument Test http://techlife.cookpad.com/entry/2016/08/15/200000

Slide 17

Slide 17 text

まだまだ改善・自動化していきたい