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
150
Scalable and cloud-native mobile game CI/CD environment using Unity
tadashi0713
0
85
Migrating your mobile CI/CD environment to a scalable cloud solution using CircleCI
tadashi0713
0
180
Speed matters: Advanced CI/CD techniques to improve development velocity, quality & security
tadashi0713
0
250
AWS Graviton 環境への CI _ CD パイプラインを CircleCI で実現しよう (AWS Fargate 編)
tadashi0713
0
290
10x deployment frequency using GitLab Flow and GitHub Actions on AWS ECS
tadashi0713
0
510
デプロイ頻度を10倍にした、ブランチ戦略とGitHub Actions on AWS ECS
tadashi0713
8
4k
Creating parallelized Android UITest (Appium) environment using Azure, Docker and Android emulator
tadashi0713
0
3.8k
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
tadashi0713
2
1.3k
Other Decks in Technology
See All in Technology
複雑性の高いオブジェクト編集に向き合う: プラガブルなReactフォーム設計
righttouch
PRO
0
120
どちらを使う?GitHub or Azure DevOps Ver. 24H2
kkamegawa
0
860
あの日俺達が夢見たサーバレスアーキテクチャ/the-serverless-architecture-we-dreamed-of
tomoki10
0
470
[Ruby] Develop a Morse Code Learning Gem & Beep from Strings
oguressive
1
170
日本版とグローバル版のモバイルアプリ統合の開発の裏側と今後の展望
miichan
1
130
NW-JAWS #14 re:Invent 2024(予選落ち含)で 発表された推しアップデートについて
nagisa53
0
270
Fanstaの1年を大解剖! 一人SREはどこまでできるのか!?
syossan27
2
170
1等無人航空機操縦士一発試験 合格までの道のり ドローンミートアップ@大阪 2024/12/18
excdinc
0
170
ゼロから創る横断SREチーム 挑戦と進化の軌跡
rvirus0817
2
270
社内イベント管理システムを1週間でAKSからACAに移行した話し
shingo_kawahara
0
190
コンテナセキュリティのためのLandlock入門
nullpo_head
2
320
DevOps視点でAWS re:invent2024の新サービス・アプデを振り返ってみた
oshanqq
0
180
Featured
See All Featured
How to Ace a Technical Interview
jacobian
276
23k
4 Signs Your Business is Dying
shpigford
181
21k
Docker and Python
trallard
42
3.1k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Practical Orchestrator
shlominoach
186
10k
Raft: Consensus for Rubyists
vanstee
137
6.7k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
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は作れないため、自発的・継続的に自 動化・仕組み化していく文化を作っていく