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
960
フリマアプリ「メルカリ」の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
86
Scalable and cloud-native mobile game CI/CD environment using Unity
tadashi0713
0
41
Migrating your mobile CI/CD environment to a scalable cloud solution using CircleCI
tadashi0713
0
110
Speed matters: Advanced CI/CD techniques to improve development velocity, quality & security
tadashi0713
0
190
AWS Graviton 環境への CI _ CD パイプラインを CircleCI で実現しよう (AWS Fargate 編)
tadashi0713
0
180
10x deployment frequency using GitLab Flow and GitHub Actions on AWS ECS
tadashi0713
0
420
デプロイ頻度を10倍にした、ブランチ戦略とGitHub Actions on AWS ECS
tadashi0713
8
3.7k
Creating parallelized Android UITest (Appium) environment using Azure, Docker and Android emulator
tadashi0713
0
3.6k
メルカリの開発スピードと品質を支える Selenium on Azure Kubernetes Service
tadashi0713
2
1.2k
Other Decks in Technology
See All in Technology
Next'24 事例セッションの紹介とクラウド資格を活用したキャリア形成について語りMuscle
yasumuusan
1
420
DevOpsメトリクスとアウトカムの接続にトライ!開発プロセスを通して計測できるメトリクスの活用方法
ham0215
2
230
サーバー間 GraphQL と webmock-graphql の話 / server-to-server graphql and webmock-graphql
qsona
2
170
[PlatformCon 24] Platform Orchestrators: The Missing Middle of Internal Developer Platforms?
danielbryantuk
1
800
検証を通して見えてきたTiDBの性能特性
lycorptech_jp
PRO
6
3.7k
「スニダン」開発組織の構造に込めた意図 ~組織作りはパッションや政治ではない!~
rinchsan
3
460
Azure犬駆動開発の記録/GlobalAzureFukuoka2024_20240420
nina01
1
180
GraphQL 成熟度モデルの紹介と、プロダクトに当てはめた事例 / GraphQL maturity model
mh4gf
7
1.2k
Reducing Cross-Zone Egress at Spotify with Custom gRPC Load Balancing Recap
koh_naga
0
180
SREとその組織類型
tatsuo48
9
1.6k
NgRx Signal Store
rainerhahnekamp
0
140
データベース02: データベースの概念
trycycle
0
130
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
266
39k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
273
13k
Building an army of robots
kneath
300
41k
Building Flexible Design Systems
yeseniaperezcruz
318
37k
The Cult of Friendly URLs
andyhume
74
5.7k
The Pragmatic Product Professional
lauravandoore
24
5.8k
Raft: Consensus for Rubyists
vanstee
132
6.3k
From Idea to $5000 a Month in 5 Months
shpigford
377
45k
Side Projects
sachag
451
41k
Being A Developer After 40
akosma
56
580k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
9
8.3k
RailsConf 2023
tenderlove
2
530
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は作れないため、自発的・継続的に自 動化・仕組み化していく文化を作っていく