Upgrade to Pro — share decks privately, control downloads, hide ads and more …

フリマアプリ「メルカリ」のCI / CDを支えるAutomation, Karakuriな文化

フリマアプリ「メルカリ」のCI / CDを支えるAutomation, Karakuriな文化

E8aaf6f975dda96c47412cf311089243?s=128

Tadashi Nemoto

August 17, 2018
Tweet

Transcript

  1. フリマアプリ「メルカリ」の CI / CDを支える Automation, Karakuriな文化 全てtadashiが自動化する(仮題) Nemoto Tadashi Mobile

    CI/CD Meetup
  2. 自己紹介 • 根本 征(Nemoto Tadashi) • Automation & QA (AQA)

    Group • テスト自動化 • Selenium, Appium, XCUITest • モバイルCI / CD改善 • 社内の生産性を上げるための自動化・サポート • https://seleck.cc/1230 • 自称 Zapierエバンジェリスト
  3. メルカリにはなぜ モバイルCI / CD・テスト自動化が 必要なのか?

  4. エンジニアの行動指針 Automation, Karakuri

  5. Automation (自動化) 本来すべきこと(コード・設計) に集中するため 機械になるべくやらせて、効率化させる 2度以上行なった作業は自動化の対象

  6. Karakuri (仕組み化) 問題が起きた時、気合いではなく、 人的エラーが起きない仕組みで解決する

  7. モバイル CI / CD・テスト自動化によって プロダクト開発に関わる人 (エンジニア・QA)が 本来すべきことに集中して幸せになる

  8. 開発フェーズ

  9. AndroidのCI時間を10分短縮し、 開発を爆速にするためのKarakuriを作った話 https://tech.mercari.com/entry/2018/07/04/110000 Android CI CircleCI 2.0

  10. Android CI 忘れがちなこと、人が指摘しなくてもいいことは 機械に任せる Danger Codecov

  11. QAフェーズ E2Eテスト自動化

  12. Android apkビルド Google Cloud Storage

  13. Android テスト実行 Appium

  14. マスター タイトルの書式設定 • マスター テキストの書式設定 Android(RSpec HTML Reporter)

  15. マスター タイトルの書式設定 • マスター テキストの書式設定 Android(RSpec HTML Reporter)

  16. マスター タイトルの書式設定 • マスター テキストの書式設定 Android(RSpec HTML Reporter)

  17. iOS テスト実行 XCUITest

  18. iOS(XCTestHTMLReport) メルカリiOSのUIテスト自動化をま るっとご紹介します! https://tech.mercari.com/entr y/2018/08/07/123000

  19. フィードバックもより早く

  20. E2E(特にモバイル)は メンテナンスコストが高い 不安定

  21. でも • エンジニアとQAでテストしたい・確認したいことは違う • QAがメンテナンス・自動化できる状態になれば良いのでは • 現在レポートをチェック・フィードバックができている • 簡単にシナリオを実装・メンテナンスできる仕組みが必要 •

    うまくいかないか模索・検証中
  22. CI / CDサービス以外でも 自動化できる部分はある

  23. Zapierを使ったAPI連携

  24. Zapierとは • 複数のWebアプリケーション(SaaS)を連携させてワークフ ローを作り、自動化させることができるサービス • IFTTTと似たサービス • GUI上で簡単にワークフローを作成できる • Bitriseに似ている

    • 1000以上のWebアプリケーションと連携可能
  25. Zapier × JIRAで必要なIssueを自動生成する 社内の面倒な手作業はZapierにやらせよう #2 〜Webhookを使って、自動化の幅を広げる〜 https://tech.mercari.com/entry/2018/06/12/110000

  26. Zapier × JIRAで必要なIssueを自動生成する

  27. Zapier × JIRAで必要なIssueを自動生成する

  28. Zapier × JIRAで必要なIssueを自動生成する

  29. プロダクト開発で使う様々なツールと Zapierは連携することができる • JIRA • GitHub • Slack • ChatWork

    • Trello • Readmine • Asana • GitLab • Dropbox • GSuite
  30. 「ノンプログラマーでも自動化はできる」 Zapier Automation Meetup Tokyo #0 を開催しました https://tech.mercari.com/entry/2018/07/13/150000

  31. 1回でパーフェクトなCI / CDは作れない

  32. Automation, Karakuriしていく文化

  33. まとめ • 本来すべきことに集中するため、自動化・仕組み化 • CIの高速化・レビューの一部分を機械に任せる • E2Eテストは実行頻度を増やす・レポートを見やすくしてフィードバッ クを早くしている • CI

    / CDサービス以外でも自動化できる部分はある(Zapier) • 1回でパーフェクトな CI / CDは作れないため、自発的・継続的に自 動化・仕組み化していく文化を作っていく