Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
フリマアプリ「メルカリ」のCI / CDを支えるAutomation, Karakuriな文化
Search
Tadashi Nemoto
August 17, 2018
Technology
0
1.1k
フリマアプリ「メルカリ」のCI / CDを支えるAutomation, Karakuriな文化
Mobile CI/CD Meetup
https://mobile-ci-cd.connpass.com/event/95864/
Tadashi Nemoto
August 17, 2018
Tweet
Share
More Decks by Tadashi Nemoto
See All by Tadashi Nemoto
Best Practice CI/CD Pipeline for Deploying Container Apps to AWS
tadashi0713
0
210
Scalable and cloud-native mobile game CI/CD environment using Unity
tadashi0713
0
130
Migrating your mobile CI/CD environment to a scalable cloud solution using CircleCI
tadashi0713
0
230
Speed matters: Advanced CI/CD techniques to improve development velocity, quality & security
tadashi0713
0
300
AWS Graviton 環境への CI _ CD パイプラインを CircleCI で実現しよう (AWS Fargate 編)
tadashi0713
0
350
10x deployment frequency using GitLab Flow and GitHub Actions on AWS ECS
tadashi0713
0
580
デプロイ頻度を10倍にした、ブランチ戦略とGitHub Actions on AWS ECS
tadashi0713
8
4.3k
Creating parallelized Android UITest (Appium) environment using Azure, Docker and Android emulator
tadashi0713
0
4.1k
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
tadashi0713
2
1.4k
Other Decks in Technology
See All in Technology
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
2
580
MagicPod導入から半年、オープンロジQAチームで実際にやったこと
tjoko
0
100
S3アクセス制御の設計ポイント
tommy0124
3
200
まずはマネコンでちゃちゃっと作ってから、それをCDKにしてみよか。
yamada_r
2
120
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
500
EncryptedSharedPreferences が deprecated になっちゃった!どうしよう! / Oh no! EncryptedSharedPreferences has been deprecated! What should I do?
yanzm
0
480
roppongirb_20250911
igaiga
1
240
LLMを搭載したプロダクトの品質保証の模索と学び
qa
0
1.1k
AIのグローバルトレンド2025 #scrummikawa / global ai trend
kyonmm
PRO
1
310
研究開発と製品開発、両利きのロボティクス
youtalk
1
530
プラットフォーム転換期におけるGitHub Copilot活用〜Coding agentがそれを加速するか〜 / Leveraging GitHub Copilot During Platform Transition Periods
aeonpeople
1
220
「何となくテストする」を卒業するためにプロダクトが動く仕組みを理解しよう
kawabeaver
0
420
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
303
21k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Code Reviewing Like a Champion
maltzj
525
40k
Visualization
eitanlees
148
16k
The World Runs on Bad Software
bkeepers
PRO
70
11k
How STYLIGHT went responsive
nonsquared
100
5.8k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.1k
Context Engineering - Making Every Token Count
addyosmani
3
58
Faster Mobile Websites
deanohume
309
31k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Transcript
フリマアプリ「メルカリ」の CI / CDを支える Automation, Karakuriな文化 全てtadashiが自動化する(仮題) Nemoto Tadashi Mobile
CI/CD Meetup
自己紹介 • 根本 征(Nemoto Tadashi) • Automation & QA (AQA)
Group • テスト自動化 • Selenium, Appium, XCUITest • モバイルCI / CD改善 • 社内の生産性を上げるための自動化・サポート • https://seleck.cc/1230 • 自称 Zapierエバンジェリスト
メルカリにはなぜ モバイルCI / CD・テスト自動化が 必要なのか?
エンジニアの行動指針 Automation, Karakuri
Automation (自動化) 本来すべきこと(コード・設計) に集中するため 機械になるべくやらせて、効率化させる 2度以上行なった作業は自動化の対象
Karakuri (仕組み化) 問題が起きた時、気合いではなく、 人的エラーが起きない仕組みで解決する
モバイル CI / CD・テスト自動化によって プロダクト開発に関わる人 (エンジニア・QA)が 本来すべきことに集中して幸せになる
開発フェーズ
AndroidのCI時間を10分短縮し、 開発を爆速にするためのKarakuriを作った話 https://tech.mercari.com/entry/2018/07/04/110000 Android CI CircleCI 2.0
Android CI 忘れがちなこと、人が指摘しなくてもいいことは 機械に任せる Danger Codecov
QAフェーズ E2Eテスト自動化
Android apkビルド Google Cloud Storage
Android テスト実行 Appium
マスター タイトルの書式設定 • マスター テキストの書式設定 Android(RSpec HTML Reporter)
マスター タイトルの書式設定 • マスター テキストの書式設定 Android(RSpec HTML Reporter)
マスター タイトルの書式設定 • マスター テキストの書式設定 Android(RSpec HTML Reporter)
iOS テスト実行 XCUITest
iOS(XCTestHTMLReport) メルカリiOSのUIテスト自動化をま るっとご紹介します! https://tech.mercari.com/entr y/2018/08/07/123000
フィードバックもより早く
E2E(特にモバイル)は メンテナンスコストが高い 不安定
でも • エンジニアとQAでテストしたい・確認したいことは違う • QAがメンテナンス・自動化できる状態になれば良いのでは • 現在レポートをチェック・フィードバックができている • 簡単にシナリオを実装・メンテナンスできる仕組みが必要 •
うまくいかないか模索・検証中
CI / CDサービス以外でも 自動化できる部分はある
Zapierを使ったAPI連携
Zapierとは • 複数のWebアプリケーション(SaaS)を連携させてワークフ ローを作り、自動化させることができるサービス • IFTTTと似たサービス • GUI上で簡単にワークフローを作成できる • Bitriseに似ている
• 1000以上のWebアプリケーションと連携可能
Zapier × JIRAで必要なIssueを自動生成する 社内の面倒な手作業はZapierにやらせよう #2 〜Webhookを使って、自動化の幅を広げる〜 https://tech.mercari.com/entry/2018/06/12/110000
Zapier × JIRAで必要なIssueを自動生成する
Zapier × JIRAで必要なIssueを自動生成する
Zapier × JIRAで必要なIssueを自動生成する
プロダクト開発で使う様々なツールと Zapierは連携することができる • JIRA • GitHub • Slack • ChatWork
• Trello • Readmine • Asana • GitLab • Dropbox • GSuite
「ノンプログラマーでも自動化はできる」 Zapier Automation Meetup Tokyo #0 を開催しました https://tech.mercari.com/entry/2018/07/13/150000
1回でパーフェクトなCI / CDは作れない
Automation, Karakuriしていく文化
まとめ • 本来すべきことに集中するため、自動化・仕組み化 • CIの高速化・レビューの一部分を機械に任せる • E2Eテストは実行頻度を増やす・レポートを見やすくしてフィードバッ クを早くしている • CI
/ CDサービス以外でも自動化できる部分はある(Zapier) • 1回でパーフェクトな CI / CDは作れないため、自発的・継続的に自 動化・仕組み化していく文化を作っていく