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
1.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
フリマアプリ「メルカリ」のCI / CDを支えるAutomation, Karakuriな文化
Mobile CI/CD Meetup
https://mobile-ci-cd.connpass.com/event/95864/
Tadashi Nemoto
August 17, 2018
More Decks by Tadashi Nemoto
See All by Tadashi Nemoto
コンテナイメージの脆弱性を削減する新しいアプローチ:Hardened Container Images
tadashi0713
1
380
Best Practice CI/CD Pipeline for Deploying Container Apps to AWS
tadashi0713
0
300
Scalable and cloud-native mobile game CI/CD environment using Unity
tadashi0713
0
180
Migrating your mobile CI/CD environment to a scalable cloud solution using CircleCI
tadashi0713
0
290
Speed matters: Advanced CI/CD techniques to improve development velocity, quality & security
tadashi0713
0
360
AWS Graviton 環境への CI _ CD パイプラインを CircleCI で実現しよう (AWS Fargate 編)
tadashi0713
0
420
10x deployment frequency using GitLab Flow and GitHub Actions on AWS ECS
tadashi0713
0
660
デプロイ頻度を10倍にした、ブランチ戦略とGitHub Actions on AWS ECS
tadashi0713
8
4.6k
Creating parallelized Android UITest (Appium) environment using Azure, Docker and Android emulator
tadashi0713
0
4.3k
Other Decks in Technology
See All in Technology
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
20k
どんな手を使っても絶対間に合わせるスケジューラ
asari194617
0
1.5k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.3k
Nav2、Nav3 ... はたまた自作?〜 作って理解する Nav3 の設計意図 〜 / Nav2, Nav3 ... or Build Your Own? — Understanding Nav3's design intent by building it from scratch
yanzm
0
150
Does an AI Watermark Survive Translation?
machinetranslation
0
520
When Token Pruning is Worse than Random: Understanding Visual Token Information in VLLMs
sansantech
PRO
0
230
データエンジニアの困りごとをDevinと一緒に解消する
10xinc
2
210
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3.2k
いま、生成AIにKaggleをどこまで 任せられるか — ROGIIコンペでの進め方とTips
k951286
1
830
顧客の要望は2次情報である 〜アンテナを張るFDEの構造論〜
noriakioji
5
1.1k
Hub & Spoke 環境のネットワークルーティングを分解してみる
tsuyataku
1
500
Genie Code ワークショップ 基礎編 / Genie-Code-Workshop-fundamental
databricksjapan
PRO
0
290
Featured
See All Featured
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
910
Fireside Chat
paigeccino
42
4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
760
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
230
So, you think you're a good person
axbom
PRO
2
2.1k
First, design no harm
axbom
PRO
2
1.3k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
Utilizing Notion as your number one productivity tool
mfonobong
4
560
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
45k
Building the Perfect Custom Keyboard
takai
2
860
Embracing the Ebb and Flow
colly
88
5.2k
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は作れないため、自発的・継続的に自 動化・仕組み化していく文化を作っていく