Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
CA.apk #7 運用5年以上のAmebaアプリで取り組んでいること
Search
bowyer-app
March 26, 2019
Technology
280
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CA.apk #7 運用5年以上のAmebaアプリで取り組んでいること
bowyer-app
March 26, 2019
More Decks by bowyer-app
See All by bowyer-app
How to make App Shortcuts
bowyer
0
56
sqlbrite with AutoValue
bowyer
1
460
Other Decks in Technology
See All in Technology
スキマバイトという雇用形態は存在しないので、雇用期間1日のアルバイト契約を事業者とワーカーが結ぶ手続きを支えるのがタイミーなんです
akitoshiga
0
210
今さら理解するウェブフォントver.2026
takanorip
3
900
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
140
JAWSUG TOHOKU 青森支部 「LoGoチャット」のAWS移行で 乗り越えたこと
taketakekaho
0
340
Rustuna: Rustによる高速なOptuna実装
pfn
PRO
0
200
Temporal 最高!でも改めて「日付」について調べたら人類の負債すぎる件
riyaamemiya
0
180
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
1
770
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
130
『SAR衛星データ解析入門』のご紹介とその応用
syuchimu
0
120
Getting Started with Google Antigravity
glaforge
0
320
コンテナ運用におけるネットワーク・コンテナコストの削減方法/How to Reduce Network and Container Costs in Container Operations
masakiokuda
2
300
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
8
2.4k
Featured
See All Featured
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
270
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
590
Technical Leadership for Architectural Decision Making
baasie
3
600
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
630
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
Automating Front-end Workflow
addyosmani
1369
210k
HDC tutorial
michielstock
2
960
Typedesign – Prime Four
hannesfritz
42
3.2k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
540
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.3k
Transcript
CA.apk #7 運用5年以上のAmebaア プリで取り組んでいること Takaya Shono
About me Takaya Shono @Amebaアプリ 2 bowyer-app BowyerApp
• Amebaアプリと僕 • 今のAmebaアプリはこんな感じ • Bitriseに移行した話←ここ本編 アジェンダ 3
Amebaアプリと僕 4 ・今のAmebaアプリは約5年ほど運用されて いる ・僕は2年ほどAndroidのブランクがある
突然ですが 5年運用しているアプリで使っ てる技術は 古いと思いませんか? 5
1. Kotlin化 71.2% 2. マルチモジュール 3. AndroidX導入済み 4. kotlinx-coroutines導入済み 5.
Android4.4切りました 6. レビューちょっと良くなりました 今のAmebaアプリはこんな感じ 6
1.Kotlin化 71.2% 2019/03/13 現在、 71.2% Kotlin化してます
2.マルチモジュール化してる マルチモジュール化してます。 2019/03/13 現在、ライブラリモジュール を含めて約30個のモジュールで構成され ています。
2019/01/10 にAndroid X導入済み 3.AndroidX導入済み
2018/08/28 に kotlinx-coroutines導入済み 4.kotlinx-coroutines 導入済み
2019/02/27 のリリースで Android4.4以下のサポートを切りました ※どうやって説得して切ることになったかなど 興味ある方は話しかけて下さい。 5.Android 4.4以下の サポート切りました https://ameblo.jp/staff/entry-12437766012.html
6.レビューちょっとよくなりました 不具合を出さないのはもちろんのこと、レビュー返信や CS連携強化によってレビュー回復してます 心の声 約4年前、「平均3.0は無謀だ」 と言われましたが、もうすぐ届きそうです ☺
5年運用している Amebaアプリですが それなりに新しいです。 13
さてここから本題 Bitriseを導入した話 14
1. Bitriseとは? 2. なぜ入れようと思ったのか? 3. 導入で何が出来るようになった? 4. 導入で困ったことは? 5. こんな工夫してます
Bitriseを導入した話 15
1. Bitriseとは? アプリに特化したCIサービス
2. なぜ入れようとしたのか?
環境移行の流れがあった • GitHub Enterprise→GitHubに移行予定があった • iOSもbitriseに移行予定があった →プロダクト全体で環境を統一しようという流れに乗っかった
ymlファイルが複雑 300行に渡るymlファイルはとても複雑で、初見ではメンテしづ らかった
3. 導入で何が出来るようになっ た?
初見でもメンテしやすくなった BitriseのWorkflowはGUIで直感的に操作できるの で、初見でもメンテしやすくなった
テスターへの配布がラク Slack通知のインストール動線からapkをインストール できるので、テスターへの配布がラクになりました。
4. 導入で困ったことは?
社内libraryが解決出来ない Bitriseから社内のmavenが解決出 来ず、ビルド出来なくなった
社内libraryを内部に持ち解決 各libraryのaarもしくはjarファイルをlibrary moduleとして内部に持たせることで、依存解 決しました
急にビルド出来なくなった 誰かが運用中のWorkflowを 直接編集したことにより、 ビルド出来なくなった → 直接編集ではなく、コピーで試してから導 入してもらうようにしました。 ただ、レビューの仕組みとか無いからつらいよ。。。
5. こんな工夫してます
Workflowの共通化 ・他のWorkflowでも使うような処理は共通処理として 定義し、再利用可能に ・prefixに「 _ 」をつけることで単体実行出来ない Workflowとして定義
並列実行 Bitrise Start Buildを使って、 Workflowを並列実行してま す。 ※本当は5つくらい実行したいのですが、iOSと 共通リソースなので2つで我慢してます。
まとめ Amebaアプリは古くない Kotlin化、マルチモジュール化、 AndroidX導入など、新しい技術いれ てます 社内libraryはlibrary moduleに 社内maven使っている場合は、aar やjarをlibrary moduleとして使いま
しょう 初見でもメンテしやすい Workflow操作はGUIなので、初見 でもメンテしやすいです 30